MyClass mc=new MyClass会调用MyClass的构造函数吗?

pwtitle 2004-08-11 07:33:48
1、MyClass *mc = new MyClass
2、MyClass mc = new MyClass
3、MyClass mc;

我的理解
1、调用了MyClass的构造函数
2、没有调用MyClass的构造函数,只是分配一个MyClass数据成员大小的堆空间
3、同1
...全文
291 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
2 好难看,要实现当然也行,重载个

MyClass& operator = ( const MyClass* );
或者写个 MyClass( const MyClass* ) 的构造函数就可以啦,咔咔

没看到有人有这种用法
Kusk 2004-08-11
  • 打赏
  • 举报
回复
就直接声明好了:
MyClass mc;

如果你想自由分配,就:MyClass &mc = *(new MyClass);
pwtitle 2004-08-11
  • 打赏
  • 举报
回复
那我象实现 2 该怎么办?
leasun 2004-08-11
  • 打赏
  • 举报
回复
指针和指针指向的对象可不一样啊
Breeze 2004-08-11
  • 打赏
  • 举报
回复 1
new之后会返回一个地址,分配空间,调用构造函数

对应new的肯定是一个指针

感觉楼主对new的含义没搞清楚
fmonkey 2004-08-11
  • 打赏
  • 举报
回复
1,3调用无参数的构造函数
2语法错误
Kusk 2004-08-11
  • 打赏
  • 举报
回复
没有2这种写法。new表达式的返回值是指针类型,不能初始化给对象(特殊重载过赋值运算的不计考虑)。1,3都调用构造函数。
宝_爸 2004-08-11
  • 打赏
  • 举报
回复
2编译错误
1,3会调用构造函数。
beyondtkl 2004-08-11
  • 打赏
  • 举报
回复
2. 错误

1.3都调用构造函数 缺省的.

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧