如何从主类外部的嵌套类中编写实际代码

时间:2011-11-04 08:54:20

标签: c++ class nested

我想通过在主类之外编写嵌套类的实际代码来保持代码的可读性,是否可行,以及如何实现?

class AA{
   //random code

   class BB : public CC <double> {
      // very long code
   };

   // random code
};

我想写一些像:

class AA{
  //random code
  //<declaration of class BB>
  // random code
};

class BB : public CC <double>{
  // very long code
};

并且BB类只能在AA类中访问...

2 个答案:

答案 0 :(得分:11)

class A {
    class B;
};

class A::B {
    // ...
};

答案 1 :(得分:2)

这是你想要的吗?

#include <iostream>
using namespace std ;
class AA{
   class BB{
      friend class AA ;
      void VeryLongFunction() ;
   };
public:
    void f(){
      BB bb ;
      bb.VeryLongFunction() ;
    }
};

void AA::BB::VeryLongFunction(){
  cout << "I am a very long function" << endl ;
}

int main(){
  AA aa ;
  aa.f() ;
}