14-15.txt

来自「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 + -
显示快捷键?