Zai*_*yed 1 c++ types class header-files
在头文件中遇到了一个我不确定如何解释的片段:
...
private:
class Ellipsoid * ellipse;
Run Code Online (Sandbox Code Playgroud)
它稍后在cpp中初始化:
ellipse = (Ellipsoid *) something->GetEllipse();
Run Code Online (Sandbox Code Playgroud)
这个数据成员的class关键字让我失望.这是一个指向继承自Ellipsoid的类/类型的指针吗?因此,"椭圆"是否被视为对类型的引用?
在class那里使用关键字简单地声明的符号Ellipsoid是一个class在其使用的网站.
如果编译器已经知道该符号是一个类,那么它是可选的.
class Ellipsoid;
class MyClass
{
private:
/*class*/ Ellipsoid * ellipse;
};
Run Code Online (Sandbox Code Playgroud)
但是,如果符号尚未声明,则显示的用法将阻止编译器错误.
//class Ellipsoid;
class MyClass
{
private:
class Ellipsoid * ellipse;
};
Run Code Online (Sandbox Code Playgroud)