首页
社区
课程
招聘
[求助]如何自己实现生成类
发表于: 2009-8-8 21:41 4463

[求助]如何自己实现生成类

2009-8-8 21:41
4463
假如Test是类,则
Test* p = new Test;
  程序会先malloc(sizeof(Test));然后调用Test的构造函数,我基于这个顺序,想实现自己生成类,但失败了,我的代码如下
Test* p = malloc(sizeof(Test));
  p->Test();//这一句无法通过编译

  请问要如何才能调用到构造函数?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
搜索placement new
2009-8-8 22:49
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看过placement new ,我的意思是我的代码里不能出现new这个词,而由我自己实现
2009-8-8 23:34
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
找到方法了
p->Test();//这一句无法通过编译
改成p->Test::Test(); 就可以通过编译,也能正确执行,就是这里为什么要这么写还是没有搞懂,有人知道为什么要这么写吗?

另 Test* q = new Test[]; //中括号中不带数字将不会调用构造函数,why?
2009-8-9 00:27
0
雪    币: 249
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
http://topic.csdn.net/t/20060323/14/4634776.html
2009-8-9 15:05
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
6
补充一个问题:如何获得构造函数的地址呀?
2009-8-9 18:31
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也有此疑问,无论怎么写都编译不过,还请高人指点一下
2009-8-10 14:09
0
游客
登录 | 注册 方可回帖
返回
//