繁体   English   中英

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

[英]How to declare a class inside a class and define it later on?

我喜欢在头文件中编写我的类声明并在以后定义它:如果我想要一些东西可以内联,或者在cpp中,可以稍后在头文件中定义它。 通过这种方式,我可以保持我的课堂声明整洁,轻松。

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

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

是的,您只需要添加包含类的名称,然后添加范围解析运算符:: ,以及内部类的名称,如下所示

// 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();

你可以拥有多少个嵌套类没有(实际)限制,你只需要继续添加::以便进一步深入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM