1
我与C++修修补补,面临着以下问题:模板类层次的朋友继承
考虑:
class A {
int aVar;
public:
A(){}
virtual ~A(){};
};
template<class BASE>
class B: public BASE {
int bVar;
public:
B() : BASE() {}
virtual ~B() {}
};
template<class BASE>
class C: public BASE{
int cVar;
public:
C() : BASE() {}
virtual ~C() {}
}
D,E,F,G...
我可以做一个排序支类层次结构继承参数和功能与此类的。像typedef C<B<A>> ABC;
但是,我应该有类,以及通过受保护的访问“管理”这些对象的某些组合。
template<class TYPE>
struct Manager {
TYPE current;
Manager() {
current.aVar++;
current.bVar++;
current.cVar++;
}
~Manager(){}
};
我的问题是:如何建立A
,B
和C
班朋友经理无论Manager
的模板类型的? (如Manager
与模板ABC
,EABC
,DABC
,XYZEFGABC
...)
[现场演示](http://coliru.stacked-crooked.com/a/e8a64d9c057b1d5e)(带有修复程序) – dyp
@dyp是否有比修改'class'到'struct'更多的修复? – Barry
在OP的代码中,ctors是私有的,并使用详细的类型说明符。 (dtors也是私有的) – dyp