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

源程序:

#include <iostream>
#include <string>
using namespace std;

class student
{
private:
int num;
string sname;
public:
student()
{
}
student(int n,string sna):num(n)
{
sname=sna;
}
~student()
{
cout<<"在此调用析构函数!";
}

void set_num(int nn);
int get_num();

void set_name(string s)
{
sname=s;
}

string get_name()
{
return sname;
}

void show()
{
cout<<"学号:"<<num<<",姓名:"<<sname<<endl;
}
student(student &); //声明复制构造函数
};

void student::set_num(int nn)
{
num=nn;
}

int student::get_num()
{
return num;
}

student::student(student &m)  //复制构造函数的实现
{
num=m.num;
sname=m.sname;
}

int main()
{
student stud(1088,"wangdawei");
student stu=stud;
stud.set_num(1122);
cout<<stud.get_num()<<endl;


cout<<stu.get_num();
cout<<endl;
cout<<stu.get_name();
cout<<endl;

stud.show();
return 1;
}

原文地址:https://www.cnblogs.com/duanqibo/p/15558051.html