|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ 关于指针的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
513
人关注过本帖
标题:
关于指针的问题
只看楼主
加入收藏
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:
87.93%
楼主
收藏
已结贴
√
问题点数:20 回复次数:5
关于指针的问题
A为一个Class
程序中代码如下:
A *pa=(A*)malloc(sizeof(A));
pa->A::A(3);
这里为什么不能直接使用pa->A(3);的形式
使用的话系统就会提示
error C2273: 'function-style cast' : illegal as right side of '->' operator
搜索更多相关主题的帖子:
指针
2009-12-25 11:30
举报帖子
使用道具
赠送鲜花
bczgvip
等 级:
贵宾
威 望:
66
帖 子:1310
专家分:5312
注 册:2009-2-26
第
2
楼
收藏
得分:0
pa->A::A(3);
这个->A 的 A 是什么?是类A的什么东西 ?
2009-12-25 12:01
举报帖子
使用道具
赠送鲜花
bccnbin2009
来 自:浙江
等 级:
黑侠
帖 子:86
专家分:602
注 册:2009-10-5
第
3
楼
收藏
得分:20
A(3)应该是构造函数吧。
首先,类中的构造函数是不能被对象显示调用的,它在创建对象时就会被自动调用。
比如:A a;或者A a(3);
其次,当创建一个C++对象时,必须做两件事:
1.为对象分配内存
2.调用构造函数来初始化那个内存;
而A *pa=(A*)malloc(sizeof(A));只是分配了一块内存,而不是生成一个对象。
所以不建议你用这种方式来初始化对象。你可以采用以下的方式:
A *pa = new A(3);这样运行时等价于调用malloc(sizeof(A))。并使用(3)来初始化对象。
滨封千里
2009-12-25 12:31
举报帖子
使用道具
赠送鲜花
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
第
4
楼
收藏
得分:0
A为一个Class
A()为构造函数
这种用法是为了说明构造函数的运作原理
"类中的构造函数是不能被对象显示调用的"那我是否能理解为,要显式调用构造函数时,就必须使用A::A()的形式
2009-12-25 14:37
举报帖子
使用道具
赠送鲜花
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
第
5
楼
收藏
得分:0
bccnbin2009 谢谢你的多次解答 已经加你为好友了 看到否?
2009-12-25 14:39
举报帖子
使用道具
赠送鲜花
bccnbin2009
来 自:浙江
等 级:
黑侠
帖 子:86
专家分:602
注 册:2009-10-5
第
6
楼
收藏
得分:0
恩,很高兴能和你成为朋友,以后多多指教!
滨封千里
2009-12-25 19:20
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
关于指针的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.021999 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved