c++:在类的构造函数中调用另一个构造函数
来源:互联网 发布:mac选中多个连续文件 编辑:程序博客网 时间:2024/05/01 04:32
在java里,经常可见类的构造函数调用另一个构造函数,但是在c++里,由于构造函数允许有默认参数,使得这种需求大为减少。虽然这样,也许偶尔我们还是希望在类的构造函数里调用另一个构造函数。我们知道,构造一个对象时会做两件事:1,分配内存 2,执行构造函数;所以在构造函数里调用另一个构造函数的关键是让第二个构造函数在第一次分配好的内存上执行,而不是分配新的内存,这个可以用标准库的placement new做到: 先看看标准库中placement new的定义 inline void *__cdecl operator new(size_t, void *_P) {return (_P); } 可见没有分配新的内存。 #include class my{public: my() { new (this) my(5); } my(int i) { a=i; } int a;}; 使用这个方法需要注意,如果第一个构造函数里初始化了某个成员变量,然后调用另一个构造函数,在这个构造函数里又初始化了同一个成员变量,这样就会造成同一个成员变量初始化了两次。但这种问题在java中也存在,编程时注意一下顺序就好了。
- c++:在类的构造函数中调用另一个构造函数
- C++类中一个构造函数调用另一个构造函数
- C++类中一个构造函数调用另一个构造函数
- C++类中一个构造函数调用另一个构造函数
- 【C/C++】在一个类中重载另一个类的构造函数 ----构造函数是一个特殊的操作符
- 在构造函数中调用构造函数
- 在构造函数中调用构造函数
- C++中可以在构造函数中调用另一个构造函数吗?
- C++中如何在一个构造函数中调用另一个构造函数
- C++中如何在一个构造函数中调用另一个构造函数
- C++中可以在构造函数中调用另一个构造函数吗?
- C++中可以在构造函数中调用另一个构造函数吗?
- 构造函数调用另一个构造函数
- 【转】C++在构造函数中可以调用另一个构造函数吗
- C++学习笔记-----在一个构造函数中调用另一个构造函数
- 构造函数调用另一个构造函数(CPP&JAVA的对比)
- JAVA C# 构造函数调互相调用(构造函数调用另一个构造函数)的不同
- JAVA 在一个类中,构造函数间的调用
- 【定期发布】全国鸡蛋批发价格走势(单位:元/公斤) (截止至2010-10-16)
- 我想下载MASM软件啊。。还要扣分,我又没分数。。怎么办
- SpringJDBC调用存储过程的两种方式(先记录下来,日后在细细研究实现原理)
- 自我介绍
- 重阳登高望远思故乡
- c++:在类的构造函数中调用另一个构造函数
- windows下gvim+ctags+cscope+taglist
- observer
- Sci 从投稿到接收全过程信件模板
- singleton
- xp下硬盘安装ubuntu10记录
- ns2安装问题总结
- 月收入两千块也能活得很精彩!
- C语言中多维数组的内存分配和释放(malloc与free)