如何在类中声明一个类并在以后定义它?

时间:2011-12-21 01:19:20

标签: c++ class declaration definition

我喜欢在头文件中编写我的类声明并稍后定义它:如果我希望某些内容能够内联,或者在cpp中,则稍后在头文件中定义它。通过这种方式,我可以保持我的课堂声明整洁,轻松。

但是,我想在类(迭代器)中创建一个类

是否可以在类中声明它并稍后定义它? 怎么样?

1 个答案:

答案 0 :(得分:3)

是的,你只需要添加包含类的名称,然后添加范围解析运算符::和内部类的名称,就像这样

// A.h

class A {
public:
    class B {
    public:
        B() { }

        void dostuff();
    };

    A() { }

    void doStuff();
};

// A.cpp

void A::doStuff() {
    // stuff
}

void A::B::doStuff() {
    // stuff
}

A a;
a.doStuff();

A::B b;
b.doStuff();

对于您可以拥有多少个嵌套类没有(实际)限制,您只需继续添加::即可进一步使用。