类的互相包含------新标准c++程序设计
发布日期:2022-04-04 06:36:20 浏览次数:10 分类:博客文章

本文共 411 字,大约阅读时间需要 1 分钟。

#include
using namespace std;class A;class B{ public: void f(A* pt){}; }class A{ public: void f(B *pt){}}

第3行声明了A类,A类的定义在后面,之所以要提前声明,是因为B类的定义中用到了A类型(第6行),而此时A类还没有定义,编译会报错。不要第三行,而把A类的定义写在B类前面,是解决不了这个问题的,因为A类中也用到了B类(第10行),把A类的定义写在前面会导致第10行的B因没有定义而报错。c++为此提供的解决办法是:可以简单地将一个类的名字提前声明,写法如下:

class 类名;

  尽管可以提前声明,但是在一个类的定义出现之前,仍然不能有任何会导致该类对象被生成的语句。但是用该类的指针或引用是没有问题的。 

 

新标准c++程序设计 

 

转载地址:https://www.cnblogs.com/l2017/p/7725281.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:封闭类------新标准c++程序设计
下一篇:this指针------新标准c++程序设计

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月23日 03时45分01秒