4_2.cpp

来自「《C++语言程序设计(第2版)》例题程序」· C++ 代码 · 共 39 行

CPP
39
字号
#include <iostream.h>
class Point	//Point 类的定义
{
public:	//外部接口
	Point(int xx=0, int yy=0) {X=xx;Y=yy;}	//构造函数
	Point(Point &p);	//拷贝构造函数
	int GetX() {return X;}
	int GetY() {return Y;}
private:	//私有数据
	int X,Y;
};
//成员函数的实现
Point::Point(Point &p)
{
	X=p.X;
	Y=p.Y;
	cout<<"拷贝构造函数被调用"<<endl;
}
//形参为Point类对象的函数
void fun1(Point p)
{	cout<<p.GetX()<<endl;
}
//返回值为Point类对象的函数
Point fun2()
{
	Point A(1,2);
	return A;
}
//主程序
void main()
{
	Point A(4,5);	//第一对象A
	Point B(A);	//情况一,用A初始化B。第一次调用拷贝构造函数
	cout<<B.GetX()<<endl;
	fun1(B);	//情况二,对象B作为fun1的实参。第二次调用拷贝构造函数
	B=fun2();	//情况三,fun2的返回值赋对象B。第三次调用拷贝构造函数
	cout<<B.GetX()<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?