安卓的RefBase.cpp中,有weakref_impl成员,它是内部类,继承自RefBase这个类中的另一个内部类weakref_type.
之前一直没有见过这种用法,特地在vs中写个类似的测试,特此记录
class Father
{
public:
int m_iAge;
class BaseMp //1.定义内部类,并且实现
{
};
friend class BaseMp;
class mp; //2.声明内部类,但是没有实现
mp *m_mp;
};
class Father::mp : public Father::BaseMp //3.内部类的实现,继承基类中的另一个内部类 class Father::mp 作用域标识出它是内部类
{
private:
int m_Arg;
int m_Arg2;
public:
mp() :m_Arg(1), m_Arg2(2)
{
// m_iAge = 1;
}
};