C++构造与析构(4) - 默认构造函数
2015-05-24 10:07
288 查看
C++中,当已存在构造函数时,是否还有默认构造函数?
答案是不会有!编译器会默认给每一个类都创建一个默认构造函数。但是,如果已经自定义了构造函数,此时编译器就不会再创建默认构造函数。
可以参考下面的两个程序。
例子1
例子2
编译失败。提示:In function `int main()': no matching function for call to `myInteger::myInteger()'
更多参考:
http://en.wikipedia.org/wiki/Default_constructor
http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/com.ibm.xlcpp8l.doc/language/ref/cplr375.htm
答案是不会有!编译器会默认给每一个类都创建一个默认构造函数。但是,如果已经自定义了构造函数,此时编译器就不会再创建默认构造函数。
可以参考下面的两个程序。
例子1
#include<iostream> class myInteger { private: int value; }; int main() { myInteger I1; return 0; }编译运行正常。
例子2
#include<iostream> class myInteger { private: int value; public: myInteger(int v) // 自定义构造函数 { value = v; } }; int main() { myInteger I1; return 0; } |
更多参考:
http://en.wikipedia.org/wiki/Default_constructor
http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/com.ibm.xlcpp8l.doc/language/ref/cplr375.htm
相关文章推荐
- C++构造与析构(9) - 默认构造函数
- C++构造与析构(13) - 内建类型的默认构造函数
- C++构造与析构(14) - 编译器何时创建默认构造函数和拷贝构造函数
- c++ 对象的构造与析构(草稿)
- 【c++程序】继承的构造与析构
- C++之类的构造与析构(二)
- C++入门学习:继承中的构造和析构以及同名成员情况
- C++入门学习:虚析构、构造中不能实现多态、基类指针指向派生类数组的弊端
- <Effective C++> Item 9:绝不在构造和析构过程中调用虚函数
- Effective C++ <二>:构造,析构,赋值运算
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(中)
- 揭示C++中全局类变量的构造与析构顺序
- C++构造与析构
- C++子类对象—子类对象的构造和析构
- c++构造与析构
- C++构造与析构(8) - 什么时候必须使用初始化列表
- c++学习笔记(7.构造与析构)
- Effective C++ Item 9 绝不在构造和析构过程中调用virtual函数
- 【C++】【学习笔记】【015】构造和析构