有如下类声明: class Fin{ public: Fin(); //① Fin *pf; //② Fin f; //③ Fin &p; //④

admin2021-05-06  21

问题 有如下类声明:
     class Fin{
     public:
         Fin();    //①
         Fin *pf;  //②
         Fin f;    //③
         Fin &p;   //④
     };   
在标有数字的四个成员声明中,将产生编译错误的是

选项 A、①
B、②
C、③
D、④

答案C

解析 只有当类定义体完成之后才能定义类,题目中四个声明语句位置,Fin类未定义完整,属于不完全类型,此时数据成员只能是指向该类类型的指针或引用,而不能是该类的对象;语句3会产生编译错误;答案为C。
转载请注明原文地址:https://kaotiyun.com/show/kFfp777K
0

最新回复(0)