C++构造函数相关……
程序员文章站
2024-03-26 11:24:47
...
构造函数是一种特殊的成员函数,用于给对象分配空间和初始 化。
1.构造函数名必须与类名相同,没有返回值,不需要显式(也无法)调用,在建立对象时自动执行。
2.拷贝构造函数
拷贝构造函数是一种特殊的构造函数,参数是本类的对象。作用是用一个已经存在的对象初始化新建的对象。
#include <iostream>
using namespace std;
class leonard{
private:
int x;
public:
leonard()
{
x=10;
cout<<"构造函数被调用1!"<<endl;
}
leonard(int m){
x=m;
cout<<"构造函数被调用2!"<<endl;
}
leonard(const leonard &d){
x=2*d.x;
cout<<"拷贝构造函数调用!"<<endl;
}
void print()
{
cout<<x<<endl;
}
};
leonard fun2(){//函数的返回值类型为leonard类
leonard L1(88);//此时会调用普通的构造函数
return L1;//调用fun2()结束时会调用一次拷贝构造函数
}
int main()
{
leonard R1;//调用普通构造函数
R1.print();
leonard R2=R1;//调用拷贝构造函数
R2.print();
leonard R3(R1);//调用拷贝构造函数
R3.print();
R3=fun2();//调用普通构造函数和拷贝构造函数
R3.print();
return 0;
}