class teacher
{
public:
teacher(string name = "Jim", int age = 1);//默认构造函数
teacher(const teacher &tea);//拷贝构造函数
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
string m_strName;
int m_iAge;
{
public:
teacher(string name = "Jim", int age = 1);//默认构造函数
teacher(const teacher &tea);//拷贝构造函数
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
string m_strName;
int m_iAge;
};
teacher::teacher(string name, int age) :m_strName(name), m_iAge(age)
{
cout << "teacher::teacher(string name, int age)" << endl;
}
teacher::teacher(const teacher &tea) {
cout << "teacher::teacher(const teacher &tea)" << endl;
}
int main()
{
system("mode con cols=60 lines=25 ");
teacher t1;
teacher t2 = t1;
teacher t3(t1);
return 0;
}
如图所示,当使用teacher定义一个t1就是使用的默认构造函数;当使用teacher t2=t1,或者teacher t3(t1)时都是默认用的拷贝析构函数