int max(int x,int y=100); //指定形参y的缺省值为100 void main() {
int x1,y1,z1;
int x2,z2;
cin>>x1>>y1; //输入两个整型变量值 cin>>x2; z1=max(x1,y1); z2=max(x2);
//输入x2的值
//调用max(99,101),输出101 //调用max(99,100),输出100
cout<<\"z1=\"<}int max(int x,int y) {
return x>y?x:y; }
4)#include void swap(int *p1,int *p2) { int t;t=*p1;*p1=*p2;*p2=t;} void main() {int x=3,y=4;
//函数定义
swap(&x,&y); //取x和y的地址,分别赋值给p1和p2
//输出4 //输出3
cout<<\"x=\"<5)#include void swap(int &p1,int &p2)//形式参数p1和p2定义为引用 { }
void main() {
int x=3,y=4; swap(x,y);
/*用实际参数x和y调用函数时,p1引用x,p2引用y,相当于int &p1=x、int &p2=y,所以p1成为x的别名,p2成为y的别名。p1和p2发生了交换,则x和y也发生了交换*/ cout<<\"x=\"<6)#include #include //输出4 //输出3
//包含基本输入输出流库 //包含文件流库
int t;
t=p1;p1=p2;p2=t;
void main( ) {
fstream file1; //定义一个fstream类的对象用于读文件 file1.open(\"demo.txt\打开demo.txt文件 if(!file1) {
//不能打开则显示信息并返回
cout<<\"demo.txt文件不能打开!\\n\"; return; }
char ch; //定义字符型变量ch while(!file1.eof( ))//如果不是文件的结尾就循环 {
file1.read(&ch,1); //从文件读入一个字符 cout<//输出字符file1.close( ); //关闭文件
}
7)#include #include struct student{int num; char name[10]; char sex; }; //定义了一个结构体student student a; //生成了变量a
void main()
{a.num=1001; //本行和下面两行分别给a的数据成员赋值
strcpy(a.name,\"Teddy\"); //不能用赋值语句将一个字符串常量直接付给一个字符数组。Str1={“Chia”}是错误的。只能将一个字符付给一个字符型变量。如c1=’a’ a.sex='M';
cout<8) #include #include class student {//private可以省略,在类的定义中,缺省则认为是private private: int num;
char name[10];
char sex; // 以上定义3个数据成员,一般定义为私有,防止外界的直接访问 public:
void set(int n,char*na,char s) {
num=n; strcpy(name,na); sex=s;
} // 定义函数set()为公有,这样外界可以直接访问 void display()
{
cout<}; //类定义结束 student a; //定义对象实例void main() {
a.set(1001,\"Teddy\ /* 因为外界不能直接访问私有数据成员,因此一般通过公有函数间接访问数据成员,这里公有函数起到接口的作用*/ a.display();
}
9) #include class CPoint { public: CPoint(){ m_x=m_y=0; }
CPoint(unsigned x,unsigned y) {m_x=x;m_y=y;}
void Print()
{cout<<\"Point(\"<friend CPoint Inflate(CPoint &pt,int Offset);//声明一个友元函数private:
unsigned m_x,m_y; };
CPoint Inflate(CPoint &pt,int nOffset)//友元函数的定义 {
CPoint ptTemp=pt;
ptTemp.m_x+=nOffset; //直接改变私有数据成员m_x ptTemp.m_y+=nOffset; return ptTemp; }
void main() {
CPoint pt(10,20); pt.Print(); pt=Inflate(pt,3); pt.Print(); }
//调用友元函数
10) #include class CDemo {
int value;
public:
CDemo(int val) //构造函数
{value=val;} //完成定义并完成初始化 int GetValue(void) {return value;} };
void main() {
CDemo object1(999),*p; //定义类中的对象 p=&object1;
cout<<\"The value of object1 is:\"<GetValue(); cout<11) #include class OperClass //声明一个类 { int x; public: OperClass(); //声明构造函数 OperClass operator++(); //声明重载的操作符++, //返回值类型为OperClass类,这里的++为前置运算 OperClass operator++(int); // 声明重载的操作符++,//返回值类型为OperClass类,这里的++为后置运算 void display(); //成员函数}; OperClass::OperClass() //定义构造函数 { x=0;
}void OperClass::display() //定义成员函数 {
cout<<\"x=\"<OperClass OperClass::operator++() { //定义重载前置操作符++的具体操作 OperClass A; x++; //进行正常的整数加1操作 A.x=x; return A; }OperClass OperClass::operator++(int) {
//定义重载后置操作符++的具体操作
OperClass A; x++; //进行正常的整数加1操作 A.x=x; return A; }
void main() {
OperClass X,Y; //声明两个对象 X.display(); //对象X调用成员函数display() ++X; //对象X调用前置操作符++ X.display(); //显示X的当前x值 Y=X++; //对象X调用后置操作符++并赋值给Y Y.display(); //显示Y的当前x值 } 12)