Nested Class Definition in source file

天大地大妈咪最大 提交于 2019-11-30 04:18:37
sje397

You can. If your inner class has a method like:

  class MyClass   {
    class NestedClass
    {
    public:
      void someMethod();
    };

    // main class members here
  };

...then you can define it in the .cpp file like so:

void MyClass::NestedClass::someMethod() {
   // blah
}

Structures are almost the same thing as classes in C++ — just defaulting to 'public' for their access. They are treated in all other respects just like classes.

You can (as noted in comments) just declare an inner class, e.g.:

class MyClass   {
    class NestedClass;
    // blah
};

..and then define it in the implementation file:

class MyClass::NestedClass {
  // etc.
};
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!