在头文件中遇到了一个我不确定如何解释的代码片段:
...
private:
class Ellipsoid * ellipse;
稍后在cpp中对其进行了初始化:
ellipse = (Ellipsoid *) something->GetEllipse();
该数据成员上的class关键字让我大吃一惊。这是指向从Ellipsoid继承的类/类型的指针吗?因此,是否将“椭圆”视为对类型的引用?
class
此处使用的关键字只是在使用该符号的位置声明该符号Ellipsoid
为a class
。
如果编译器已经知道该符号是一个类,则它是可选的。
class Ellipsoid;
class MyClass
{
private:
/*class*/ Ellipsoid * ellipse;
};
但是,如果尚未声明该符号,则显示的用法将防止编译器错误。
//class Ellipsoid;
class MyClass
{
private:
class Ellipsoid * ellipse;
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句