构造函数(Constructor)析构函数(Destructor)怎么用?
2016-01-22 00:16
477 查看
构造函数是创建类对象时必须要调用的函数,析构函数是当对象脱离作用域(eg:类的函数调用完毕)时必须要调用的函数。
即使不显式声明,系统也会创建一个缺省的构造函数和析构函数,它们只是保证程序可执行,并不会把类的变量初始化为0。
构造函数的函数名与<类名>相同,析构函数的函数名为 ~<类名>。
类的构造函数和析构函数一般在类中声明,在可执行文件中实现
注意区分assign和initialize的区别,reference,const以及class这类变量只能initialize,不能assign。
即使不显式声明,系统也会创建一个缺省的构造函数和析构函数,它们只是保证程序可执行,并不会把类的变量初始化为0。
构造函数的函数名与<类名>相同,析构函数的函数名为 ~<类名>。
类的构造函数和析构函数一般在类中声明,在可执行文件中实现
注意区分assign和initialize的区别,reference,const以及class这类变量只能initialize,不能assign。
/*在.h中声明类*/ class _MyClass { public: _MyClass(); //显式声明构造函数 ~_MyClass(); //显式声明析构函数 private: const int a; int b; int *ref_a; }; /*在.cpp中以assignment的方式实现类的构造函数*/ _MyClass::_MyClass(int temp) { a=temp; //OK! b=temp; //Error!const不能通过assignment来实现 ref_a=temp; //Error!reference不能通过assignment来实现 } /*在.cpp中以initializer的方式实现类的构造函数*/ _MyClass::_MyClass(int temp):a(temp),b(temp),ref_a(temp) { //Initialization success }
相关文章推荐
- C++中拷贝构造函数的应用详解
- 完全掌握C++编程中构造函数使用的超级学习教程
- 构造函数不能声明为虚函数的原因及分析
- 深入讲解C++中的构造函数
- C++类成员构造函数和析构函数顺序示例详细讲解
- c++基础语法:构造函数与析构函数
- php析构函数的简单使用说明
- JavaScript 构造函数 面相对象学习必备知识
- JavaScript面向对象设计二 构造函数模式
- Javascript面向对象编程(二) 构造函数的继承
- 成员初始化列表与构造函数体中的区别详细解析
- JavaScript精炼之构造函数 Constructor及Constructor属性详解
- C#中私有构造函数的特点和用途实例解析
- C#中派生类调用基类构造函数用法分析
- C#静态构造函数用法实例分析
- javascript 静态对象和构造函数的使用和公私问题
- Javascript 使用function定义构造函数
- JavaScript中的普通函数与构造函数比较
- Swift构造函数
- js的构造函数