这就是场景。我有一个Layer
类,我想创建一个子类,我们称之为这个ParentLayer
类。该类ParentLayer
将有另一个Layer
子类,称为ChildLayer
类。最好的方法是什么?
ChildLayer
将内部声明ParentLayer
为私有类。
// LayerSubclass.h
#include "Layer.h"
class ParentLayer : public Layer {
private:
class ChildLayer : public Layer {
private:
// ChildLayer members
public:
// Stuff...
};
ChildLayer _childLayer;
public:
// Stuff...
};
将 ChildLayer 声明为同一头文件中的单独类。
// LayerSubclass.h
#include "Layer.h"
class ChildLayer : public Layer {
private:
// ChildLayer members
public:
// Stuff...
};
class ParentLayer : public Layer {
private:
ChildLayer _thisChild;
public:
// Stuff...
};
我一直在使用第一种方法,但后来我想到了第二种方法(更简洁,更具可读性)。想法?