类中允许出现类的对象,引用还是指针

KILLFOX 2001-02-08 08:18:00
class student
{
protected:

student s1;
student& s2;
student* s3;
}
我第一次用这种形式,请问合法吗?
...全文
297 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
farland 2001-03-11
  • 打赏
  • 举报
回复
student s1;//肯定不对,这是递归定义.
student& s2;//语法上没错,“引用”必须初始化,但自身如何初始化?
student* s3;//肯定可以,

prefix 2001-03-11
  • 打赏
  • 举报
回复
一定可以的!
wangshiqi 2001-03-11
  • 打赏
  • 举报
回复
链表的数据结构就是这种形式
struct link
{
link* head;
link* tail;
int content;
}
niki 2001-02-08
  • 打赏
  • 举报
回复
你有编译器吗?你有调试环境吗?
有,为什么不试试。不要浪费别人的时间。
没有,你是神仙。
Gil 2001-02-08
  • 打赏
  • 举报
回复
用指针可以,我试过
KILLFOX 2001-02-08
  • 打赏
  • 举报
回复
我还在等
KILLFOX 2001-02-08
  • 打赏
  • 举报
回复
有确切答案吗?谁用过?我在书上怎么没见过这种用法,什么原理?这应该是递归定义吧!好象说不通,编译过程怎么实现呢?我真的很想知道!
KILLFOX 2001-02-08
  • 打赏
  • 举报
回复
有确切答案吗?谁用过?
bingcaibird 2001-02-08
  • 打赏
  • 举报
回复
没问题。
只是用引用的初始化必须放在构造器的base/member initializer list里
bigjim 2001-02-08
  • 打赏
  • 举报
回复
student& s2;
student* s3;
没有实际的对象,可能会出问题。
xyzboat 2001-02-08
  • 打赏
  • 举报
回复
我想,这样是不合法的,类还没有定义完你就开始定义它的对象肯定要出错(猜想).
我倒是有个建议,如果你的类里要用到类似的成员,你先不妨定义指针(LPVOID),然后给指针赋值.
Sniper 2001-02-08
  • 打赏
  • 举报
回复
应该是都可以的。
KILLFOX 2001-02-08
  • 打赏
  • 举报
回复
to niki 没试我怎么会来问,我想知道为什么而已,
wing_pn 2001-02-08
  • 打赏
  • 举报
回复
在bc3.1中用了,Undefined structure 'student'

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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