C++基础——嵌套类

C++基础——嵌套类


   在一个类的内部定义另一个类,我们称之为嵌套类(nested class),或者嵌套类型。之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。

   这个可以这样理解:有一些工作我们不想被用户知道怎么实现的,那么我们就把这些工作交给类内的嵌套类来实现,然后对我提供一个接口即可。

class A 
{
    class Imp;
    Imp* impl;
    public:
        A();
        virtual ~A();
        void interface();
};

class A::Imp
{
    public:
        void some_dirty_work() { //...  
        }
};
A::A() : impl(new Imp) { }
A::~A() { delete impl; }
void A::interface() { impl->some_dirty_work() }

你可能感兴趣的:(C++基础,c++,java)