14-15.txt
来自「《C-C++完美演绎》源代码 《C-C++完美演绎》源代码」· 文本 代码 · 共 40 行
TXT
40 行
/* 范例: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 + =
减小字号Ctrl + -
显示快捷键?