如何转发定义子类?

时间:2017-09-18 16:05:35

标签: c++ subclass forward-declaration

我正在寻找以下问题的解决方案: 在一个类中有一些子类,我想把它们放到另一个头或cpp文件中。

main.h中的示例:

class main
{
public:
    class sub
    {
        int value;
        sub()
            {value=1;}

    };

    main(void);
    ~main(void);
};

到目前为止,它还不错。 但我想将main和sub放在单独的头文件中。

就像在newmain.h中一样:

#include newsub.h
class newmain
    {
    public:
        class newsub;

    int count;
    newsub thissub;
    int count;
    newmain(void)
        {count=1;}

    ~newmain(void);
};

以及newsub.h:

#include"newmain.h"
class newmain::newsub
{
    public:
        int value;
        newsub()
            {value=1;}
}

我厌倦了将newsub声明为虚拟,但在这种情况下,编译器告诉我,它不会声明任何内容......?

0 个答案:

没有答案