【例11.1】
#include "iostream.h"
#include "iomanip.h"
void main()
{
int a,b;
cout<<"Input two numbers:\n";
cin>>a>>b;
cout<<"a="<<a<<setw(5)<<"b="<<b<<endl;
cout<<"The max is:"<<(a>b?a:b)<<endl;
}
【例11.3】
#include "iostream.h"
void main()
{
int a=5;
cout<<"a="<<a<<endl;
int &b=a;
b+=10;
int *p=&b;
cout<<"b="<<b<<endl;
cout<<"a="<<a<<endl;
cout<<"*p="<<*p<<endl;
}
【例11.3】
#include "iostream.h"
#include "iomanip.h"
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void main( )
{ int i=3,j=5;
cout<<"i="<<i<<setw(5)<<"j="<<j<<endl;
swap (i,j);
cout<<"i="<<i<<setw(5)<<"j="<<j<<endl;
}
【例11.4】
#include "iostream.h"
int a=10;
void main()
{
int a=5;
cout<<"a="<<a<<endl; //输出局部变量a
cout<<"a="<<::a<<endl; //输出全局变量a
}
【例11.5】
#include “iostream.h”
inline double circlearea(double radius) //内联函数定义,计算圆的面积
{
return 3.14*radius*radius;
}
void main()
{
double r,area;
cout<<”Enter the radius:”;
cin>>r;
area=circlearea(r); //编译时此处用函数cirlearea的函数体替换
cout<<”The area is:”<<area<<endl;
}
【例11.6】
#include "iostream.h"
void main()
{
int add(int,int);
long add(long,long);
double add(double,double);
int add(int,int,int);
int a,b,c;
long x,y;
double m,n;
cout<<"Input int numbers:";
cin>>a>>b>>c;
cout<<"Input long numbers:";
cin>>x>>y;
cout<<"Input double numbers:";
cin>>m>>n;
cout<<"Sum of two int:"<<add(a,b)<<endl;
cout<<"Sum of three int:"<<add(a,b,c)<<endl;
cout<<"Sum of long:"<<add(x,y)<<endl;
cout<<"Sum of double:"<<add(m,n)<<endl;
}
int add(int i,int j)
{
return i+j;
}
int add(int i,int j,int k)
{
return i+j+k;
}
long add(long i,long j)
{
return i+j;
}
double add(double i,double j)
{
return i+j;
}
【例11.7】
#include "iostream.h"
int add(int m=10,int n=20)
{
return m+n;
}
void main()
{
cout<<add(5,10)<<endl;
cout<<add(5)<<endl;
cout<<add()<<endl;
}
【例11.8】
#include "iostream.h"
#include "iomanip.h"
struct student{
char NO[4];
char name[10];
int age;
};
void main()
{
student *p;
p=new student;
cin>>p->NO>>p->name>>p->age;
cout<<"NO:"<<p->NO<<endl<<"name:"<<p->name<<endl<<"age:"<<p->age<<endl;
delete p;
}
【例11.9】
#include "iostream.h"
const double PI=3.14159; //常量定义
class circle
{
private:
double r;
public:
void set(double);
double area();
}cir,*pcir;
void circle::set(double value) //为私有数据成员赋值
{
r=value;
}
double circle::area() //计算面积
{
return r*r*PI;
}
void main()
{
cir.set(3.5);
pcir=new circle;
pcir->set(3.5);
cout<<"area="<<cir.area()<<endl;
cout<<"parea="<<pcir->area()<<endl;
delete pcir;
}
【例11.10】
#include "iostream.h"
#include "string.h"
class student
{
private:
char NO[4];
char name[10];
int age;
public:
student(char ch1[4],char ch2[10],int m); //构造函数
void disp( );
~student(); //析构函数
};
student::student(char ch1[4],char ch2[10],int m) //构造函数定义
{
cout<<"constructor called!"<<endl;
strcpy(NO,ch1);
strcpy(name,ch2);
age=m;
}
student::~student() //析构函数定义
{
cout<<"disconstructor called!"<<endl;
}
void student::disp()
{
cout<<"NO:"<<NO<<endl;
cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
}
void main()
{
student stu1("001","zhangming",20),stu2(“002”,”liyi”,21);
stu.disp();
}
【例11.11】
#include "iostream.h"
class A
{
public:
A(int i)
{
a=i;
cout<<"A:constructor called"<<endl;
};
~A()
{
cout<<"A:destructor called"<<endl;
}
void print() const
{
cout<<a<<endl;
}
private:
int a;
};
class B:public A
{
public:
B(int i,int j);
~B();
void print() const;
private:
int b;
};
B::B(int i,int j):A(i)
{
b=j;
cout<<"B:constructor called"<<endl;
}
B::~B()
{
cout<<"B:destructor called"<<endl;
}
void B::print() const
{
A::print();
cout<<b<<endl;
}
void main()
{
B obj(5,6);
obj.print();
}
【例11.12】
#include "iostream.h"
class complex
{
public:
complex(double r=0.0,double i=0.0) //构造函数
{
real=r;
imag=i;
}
complex operator +(complex c2); //+重载为成员函数
complex operator -(complex c2); //-重载为成员函数
void display();
private:
double real,imag;
};
complex complex::operator+(complex c2)
{
complex c;
c.real=c2.real+real;
c.imag=c2.imag+imag;
return complex(c.real,c.imag);
}
complex complex::operator-(complex c2)
{
complex c;
c.real=real-c2.real;
c.imag=imag-c2.imag;
return complex(c.real,c.imag);
}
void complex::display()
{
if(imag>0)
cout<<real<<"+"<<imag<<"i"<<endl;
else
cout<<real<<imag<<"i"<<endl;
}
void main()
{
complex c1(7,5),c2(1,20),c3;
cout<<"c1=";
c1.display();
cout<<"c2=";
c2.display();
c3=c1+c2;
cout<<"c3=c1+c2=";
c3.display();
c3=c1-c2;
cout<<"c3=c1-c2=";
c3.display();
}
【例11.13】
#include "iostream.h"
class instrument
{
public:
void play( ) const
{
cout<<"instrument::play"<<endl;
}
};
class wind:public instrument
{
public:
void play( ) const
{
cout<<"wind::play"<<endl;
}
};
void tune(instrument &i)
{
i.play( );
}
void main()
{
wind flute;
tune(flute);
}
【例11.14】
#include "iostream.h"
class instrument
{
public:
virtual void play() const //虚函数
{
cout<<"instrument::play"<<endl;
}
};
class wind:public instrument
{
public:
void play() const //虚函数
{
cout<<"wind::play"<<endl;
}
};
void tune(instrument &i)
{
i.play();
}
void main()
{ wind obj_w;
instrument obj_i;
tun
C_C++程序设计与上机指导
需积分: 0 101 浏览量
更新于2008-11-13
收藏 24KB RAR 举报
《C/C++程序设计与上机指导》是一个深入学习C++编程的重要资源,包含了丰富的实践代码示例。从提供的压缩包文件名来看,它涵盖了从基础到进阶的多个章节,包括了C++语言的核心概念和实践应用。下面将详细阐述这些章节中涉及的知识点。
1. **基础篇(ch01 - ch03)**:
- **ch01 code.txt**:通常会介绍C++的基本语法,如变量声明、数据类型(整型、浮点型、字符型等)、运算符、流程控制(if-else、switch-case、for、while、do-while)。
- **ch02 code.txt**:可能涵盖函数的定义、调用,包括参数传递、函数返回值、重载函数等。
- **ch03 code.txt**:可能会讲解数组和指针,包括一维、多维数组,动态内存分配,指针的基本操作和指针作为函数参数。
2. **进阶篇(ch04 - ch06)**:
- **ch04 code.txt**:涉及面向对象编程的基础,如类的定义、对象的创建,封装的概念,以及构造函数、析构函数的使用。
- **ch05 code.txt**:可能讲解继承、多态性,包括虚函数、纯虚函数以及抽象类的概念。
- **ch06 code.txt**:可能涉及模板的使用,包括函数模板和类模板,以及模板特化和部分特化。
3. **高级篇(ch07 - ch11)**:
- **ch07 code.txt**:涵盖标准库的使用,如iostream进行输入输出,string类的操作,算法库中的排序、查找等函数。
- **ch08 code.txt**:可能涉及异常处理,如何使用try-catch语句来捕获和处理运行时错误。
- **ch09 code.txt**:可能讲解文件操作,包括文件的打开、关闭,读写数据,流缓冲区等。
- **ch10 code.txt**:可能涉及STL(Standard Template Library)的深入使用,如容器(vector、list、set、map等),迭代器,算法的应用。
- **ch11 code.txt**:最后章节通常会给出综合性的实例或项目,将前面的知识点串联起来,可能涉及到更复杂的数据结构和算法。
通过这些代码示例,学习者可以逐步掌握C++编程,从基础语法到面向对象编程,再到高级特性,最后能够独立完成有一定难度的编程任务。在实际学习过程中,读者应结合代码和相关理论知识,动手编写和运行代码,加深理解并提升编程技能。
xieguang133
- 粉丝: 8
- 资源: 126
最新资源
- java毕设项目之ssm基于Java的共享客栈管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java的健身房管理系统的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java和mysql的多角色学生管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Java的图书管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java的少儿编程网上报名系统+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Java语言校园快递代取系统的设计与实现+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于jsp的精品酒销售管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于JSP的乡镇自来水收费系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM的高校共享单车管理系统的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于ssm的人才招聘网站+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM框架的购物商城系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM框架的个人博客网站的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于ssm的新能源汽车在线租赁管理系统+vue(完整前后端+说明文档+mysql+lw).zip
- 小目标尺寸下的地表信息图像分类数据集【已标注,约30,000张数据】
- java毕设项目之ssm家政服务网站设计+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Web的智慧城市实验室主页系统设计与实现+vue(完整前后端+说明文档+mysql+lw).zip