pre{
line-height:1;
color:#9f1d66;
background-color:#cfe4e4;
font-size:16px;}.sysFunc{color:#5d57ff;font-style:italic;font-weight:bold;}
.selfFuc{color:#8e0ed3;}
.bool{color:#008000;}
.condition{color:#008000;font-weight:bold;}
.key{color:#440080;}
.var{color:#008000;font-style:italic;}
.Digit{color:#000080;font-weight:bold;}
.includePre{color:#661d9f;}
.operator?{color:#fd1a53;font-weight:bold;}
????类A定义??在A.h中??实现在A.cpp ? ????类B定义??在B.h中??实现在B.cpp ? ?? ????在类A中需要引用类B的类型 ? ????而类B也需要引用类A的类型 ? ? ???这样?如果在类A.h加如#include"B.h" ?????????????????在类B.h加入#include"A.h" ?? ???会出现什么结果呢? ? ???????这样?A,B会处在一种无限嵌套的死局之中。 ???????编译器,会报告?类未定义等错误。 ? ?
解决的办法:
? ??????在类A中不加入?#include‘B.h‘ ? ??????而是在A中声明下类B??即:class?B;??这样类A就可以先使用类B类型了 ? ??????只在类B中加入#include"A.h" ? ? ?
举例如下:
? A.h ? Class?B; ? Class?A { ? Public: ? ??????void?cal(B?b);??//???A的成员函数?使用B类型数据作为其参数 ? } ? ? B.h ? #include"A.h" ? class?B { public: ? A?a;????//??A类型数据a?????作为B类的成员函数 } ? ? ? ? ?
这样就不会出错了:>
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。
时间: 2024-10-16 00:56:40