Developer Network
Developer Network
Developer
:CreateViewProfileText:
登录
MSDN 订阅
获取工具
下载
Visual Studio
SDK
试用软件
免费下载
Office 资源
计划
订阅
Administrators
学生
Microsoft Imagine
Microsoft 学生合作伙伴
ISV
新手
Events(事件)
社区
Magazine
论坛
博客
第 9 频道
文档
API 和参考
开发人员中心
示例
停用的内容
非常抱歉。你请求的内容已被删除。将在 1 秒内自动重定向。
提出问题
快速访问
论坛主页
浏览论坛用户
FAQ
搜索相关主题
Remove From My Forums
积极答复者
结构体指针初始化问题
Visual Studio Development
>
Visual C++
问题
0
登录进行投票
我定义一个结构体指针
tagStruct1
{
tagStruct2* a;
tagStruc3* b;
int c;
}
....
在一个class CA里面用到
-------- CA.h -----------
tagStruct1* m_Struc1;
-------- CA.cpp -----------
m_Struc1 = new tagStruct1;
我想问的是,结构体tagStruct1在哪里初始化,一定要么?
另外tagStruct2又要在哪里初始化呢?
谢谢
2009年9月17日 5:07
回复
|
引用
答案
0
登录进行投票
你需要通过new 来为结构体分配内存,同时如果tagStruct2*和tagStruct3*这两个结构体指针需要分配内存的话就需要为tagStruct1写一个构造函数了。在C++中Struct和class并没有什么本质区别,一样可以实现多态。不同的是struct默认访问权限是public。也就是说在这里tagStruct2*和tagStruct3*以及 c都是public的。而class默认是private。还有就是默认派生关系,struct是公有继承,而class是私有继承。
麻烦把正确答案设为解答。
已标记为答案
beyard
2009年9月18日 3:17
2009年9月17日 15:08
回复
|
引用
版主