1、
#include <iostream>
using namespace std;
class stu
{
public:
int age;
int* pp;
stu()
{
cout << "构造函数" << endl;
pp = new int(10);
}
stu(int i)
{
cout << "构造函数" << endl;
}
~stu()//只有一个,没有参数,没有重载
{// 对数据的值进行清理工作
cout<<"析构函数" << endl;
delete pp;
}
};
int main()
{
{
stu db;
}//析构函数是在创造对象的最后时才调用的(对象周期结束时才调用的)
stu* db1 = new stu;
delete db1;
stu(12);//临时对象,作用域只在这一行
system("pause");
return 0;
}
2、
#include <iostream>
using namespace std;
class stu
{
public:
int age;
int* pp;
stu()
{
cout << "构造函数" << endl;
pp = new int(10);
}
~stu()//只有一个,没有参数,没有重载
{// 对数据的值进行清理工作
cout<<"析构函数" << endl;
delete pp;
}
};
int main()
{
//stu* db1 = new stu;
//delete db1;
stu* db2 = (stu*)malloc(sizeof(stu));//在C++里无法触发构造函数的
free(db2);//在C++里无法触发构造函数的,
system("pause");
return 0;
}