c++构造函数问题,菜鸟求大神指导哇哇。。。。。

来源:互联网  时间:2016/8/26 22:43:35

关于网友提出的“ c++构造函数问题,菜鸟求大神指导哇哇。。。。。”问题疑问,本网通过在网上对“ c++构造函数问题,菜鸟求大神指导哇哇。。。。。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: c++构造函数问题,菜鸟求大神指导哇哇。。。。。
描述:

函数c++对象

#include 
using namespace std;
class MyClass
{
int a;
public:
MyClass() { printf("ctor\n"); }
~MyClass() { printf("dtor\n"); }
};
void* operator new[](size_t size)
{
void* p = operator new(size);
printf("calling new[] with size=%d address=%p\n", size, p);
return p;
}
int main()
{
MyClass* mc = new MyClass[3];
printf("address of mc=%p\n", mc);
delete[] mc;
return 0;
}
为什么运行后结果是 c++构造函数问题,菜鸟求大神指导哇哇。。。。。
而不是第一行输出构造函数功能,就是为什么不是先输出三行ctor,不是对象创建时,调用构造函数么??。。新手求大神指导 c++构造函数问题,菜鸟求大神指导哇哇。。。。。

解决方案1:

还有delete []也要自己写好,你只写了new[]呀?

解决方案2:

你只分配了内存,没有构造对象呀!

解决方案3:

new MyClass[3];
要首先分配空间(调用 operator new[] ),然后再在分配的空间上执行构造函数,构造对象。

上一篇VC++调用delphi写的DLL其中delphi的DLL中有个回调函数
下一篇MFC 双缓冲绘图问题
明星图片
相关文章
《 c++构造函数问题,菜鸟求大神指导哇哇。。。。。》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)