如题,类似于这样的函数,在一个函数之中定义了一个对象,那么它的生命周期又是怎样呢?
Teacher livetest()
{
Teacher t4(60);
return t4;
}
{
Teacher t4(60);
return t4;
}
探究对象生命周期当然要去看何时调用析构函数,下面贴出完整代码:
#include <iostream>
using namespace std;
class Teacher
{
private:
char name[32];
int age;
public:
//有参构造函数
Teacher(int a)
{
age = a;
}
//无参构造函数
Teacher()
{
age = 33;
}
//拷贝构造函数
Teacher(const Teacher &p)
{
age = p.age;
}
{
private:
char name[32];
int age;
public:
//有参构造函数
Teacher(int a)
{
age = a;
}
//无参构造函数
Teacher()
{
age = 33;
}
//拷贝构造函数
Teacher(const Teacher &p)
{
age = p.age;
}
void GetTeacher()
{
cout << "age:" << age << endl;
}
//析构函数
~Teacher()
{
cout << "age:" << age << endl;
}
//析构函数
~Teacher()