C++超前引用谁能给我讲讲是什么原理呀?我会用,但不知道这是怎么实现的,比如 class a{ p
ublic:ame;};intmain(){aHi;}这样的话Hi里面包含一个a类型数据成员me,me是a类型的,所以包含一个a类里面的me又包含一个me,同理又包含一个...
ublic : a me;}; int main() {a Hi;} 这样的话Hi里面包含一个a类型数据成员me,me是a类型的,所以包含一个a类里面的me又包含一个me,同理又包含一个me,又包含,又包含... ...,是不是这样?那就会乱了套了呀?我在百度差了半天,没查到相关的内容,参考书也没写。求大神赐教!
展开
3个回答
展开全部
这个我也困惑了很久……
就是声明在前,定义在后
比如一个函数
void a()
{
;
}
也可以写成
void a();
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx//程序
void a()
{
;
}
这样就可以在程序中引用a了。
类同理
就是声明在前,定义在后
比如一个函数
void a()
{
;
}
也可以写成
void a();
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx//程序
void a()
{
;
}
这样就可以在程序中引用a了。
类同理
更多追问追答
追问
我有点笨。完全没理解。。你这个是先使用再定义吧,但是那个超前引用不是这个样子呀,那个相当于 void a(){ a(); }这个意思吧
追答
C++要使用必须要先定义,我们先定义一个class B,但不定义实现方法:
class B;
class A
{
xxxxxxx
};
我们在A的后面在实现:
class B
{
xxxxxx
};
这样可以互相调用了
好了太晚了,如果不满意明天早上我再来,8
展开全部
大神, 类定义里是不可能递归包含本类型的成员.
只能包含本类型的引用和指针
只能包含本类型的引用和指针
追问
听的不是太明白。那这样的话Hi和me里分别都包含哪些成员呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类不能包含自己本身的成员 不然出现这样的情况,一个该类的变量包括一个该类的变量,而这个成员变量内又包含一个该类的变量,如此循环无穷尽也, 你可以考虑包含该类的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询