C++的构造函数浅析
2015-03-01 13:15
351 查看
C++的构造函数浅析
1、 C++的构造函数分为 系统默认构造函数 和 自定义构造函数 ,并且构造函数的访问权限必须是public,且为无参的函数,同时没有返回值的概念,也就是不需要返回值。
2、 C++中的构造函数只用于类对象的声明,在定义对象的时候要确定调用了什么样的构造函数可分为以下情况:
1)、当没有自定义构造函数的时候,ClassName object; 和ClassName object(); 是等效的,都可以调用系统默认构造函数。
2)、当有自定义构造函数时,ClassName object; 只在自定义构造函数中找无参的构造函数,ClassName object(); 仍然只调用系统默认构造函数。和1)对比可以发现ClassName object(); 只会调用系统默认构造函数。
3、 当使用new关键字来初始化类对象指针时,调用构造函数的情况如下:
1)、当没有自定义构造函数的时候,new ClassName object; 和 new ClassName object();是等效的,都是调用的系统默认构造函数。
2)、当定义了构造函数,new ClassName object; 和 new ClassName object();是等效的,都调用的是自定义的构造函数。
1、 C++的构造函数分为 系统默认构造函数 和 自定义构造函数 ,并且构造函数的访问权限必须是public,且为无参的函数,同时没有返回值的概念,也就是不需要返回值。
2、 C++中的构造函数只用于类对象的声明,在定义对象的时候要确定调用了什么样的构造函数可分为以下情况:
1)、当没有自定义构造函数的时候,ClassName object; 和ClassName object(); 是等效的,都可以调用系统默认构造函数。
2)、当有自定义构造函数时,ClassName object; 只在自定义构造函数中找无参的构造函数,ClassName object(); 仍然只调用系统默认构造函数。和1)对比可以发现ClassName object(); 只会调用系统默认构造函数。
3、 当使用new关键字来初始化类对象指针时,调用构造函数的情况如下:
1)、当没有自定义构造函数的时候,new ClassName object; 和 new ClassName object();是等效的,都是调用的系统默认构造函数。
2)、当定义了构造函数,new ClassName object; 和 new ClassName object();是等效的,都调用的是自定义的构造函数。
相关文章推荐
- C++ 构造函数浅析
- C++构造函数浅析(1)
- C++ FAQ Lite[8]--引用(更新)
- 开发工具大比拚之Visual C++ vs. Delphi(三)
- 开发工具大比拚之Visual C++ vs. Delphi(二)
- 开发工具大比拚之Visual C++ vs. Delphi(一)
- Byte杂志C++调查报告
- 对今年内将出版的几本C++书的简评
- VC不是梦想,C++需要自由的心
- C++之父B. Stroustrup近期言论
- 用纯粹的C++编写COM组件
- 在Delphi与C++之间实现函数与对象共享
- C/C++的思索 C++之父访谈录 [上帝的玩笑吗?]
- 突破C++的虚拟指针--C++程序的缓冲区溢出攻击
- C++: BIG5到GB
- C++ FAQ Lite[13]--算符重载(新)
- C++ FAQ Lite[7]--类和对象(更新)
- C++ FAQ Lite[17]--异常和错误处理(更新)
- C++ FAQ Lite[9]--内联函数(更新)