📄 14-15.txt
字号:
/* 范例:14-15 */
#include <iostream.h>
class A
{
private:
int a;
public:
A() /* 构造函数名称必须与类名称相同 */
{a=10;cout<<"我把成员变量a初始化了,a的值是"<<a<<endl;}
~A(){cout<<"deleted";getchar();}
};
void main()
{
A obj1; // 当在建立对象时会调用构造函数且只执行一次。
/* 对象obj2的生命范围只在{}区块内 */
{
A obj2; // 当在建立对象时会调用构造函数且只执行一次。
obj2; // 构造函数只在对象建立时执行一次,这里不会执行构造函数。
cout<<"在对象ojb2被删除时会自动执行析构\n";
cout<<"下面结束时将obj2的对象执行析构函数"<<endl;
} // 对象obj2在此释放
cout<<"在对象ojb1被删除时会自动执行析构\n";
cout<<"故在下面结束时将obj1的对象执行析构函数"<<endl;
}
程序执行结果:
我把成员变量a初始化了,a的值是10
我把成员变量a初始化了,a的值是10
在对象ojb2被删除时会自动执行析构
下面结束时将obj2的对象执行析构函数
deleted
在对象ojb1被删除时会自动执行析构
故在下面结束时将obj1的对象执行析构函数
deleted
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -