这个类声明是什么意思?

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的类/类型的指针吗?因此,"椭圆"是否被视为对类型的引用?

Dre*_*ann 6

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)