c++复制构造函数的使用实例

c++复制构造函数的使用实例:

#include <iostream>
using namespace std;

class A{
public:
A(){}
A(A&one){this->n=one.n;m=one.m;}//复制构造函数,引用名为one,this可省略,对象成员的对拷
A(int i,int j){n=i;m=j;}
void print(){cout<<n<<”\t”<<m;}
private :
int n;
int m;
};

int main(){
A a(2,8);
a.print();
cout<<”\n”;
A b(a);//传递对象时复制构造函数自动执行,复制参数
b.print();
cout<<”\n”;
return 0;

}

 

#include <iostream>

using namespace std;

class A

{

public:

 int a;

 A(int x):a(x){}

};

void main()

{

 A a(1);

 cout<<a.a<<endl;

 A b(a);//注意这里 这里便是系统默认的复制构造函数,因为你从来没有定义过一个以对象为参数的构造函数 但是系统自动生成一个默认复制构造函数完成了初始化工作

 cout<<b.a<<endl;

}

但是当你创建类的时候写了一个以类对象为参数的构造函数,则系统的默认构造函数就不再起作用了 程序会调用你写的复制构造函数
本文链接地址: c++复制构造函数的使用实例