两阶段查找问题:是否有更综合的方式来编写此代码,即避免所有这些using
指令?类似的东西using CBase<T>;
是我想要的,但它不被接受。
#include <iostream>
template <typename T>
class CBase
{
protected:
int a, b, c, d; // many more...
public:
CBase() {
a = 123; c = 0;
}
};
template <typename T>
class CDer : public CBase<T>
{
// using CBase<T>; // error, but this is what I would like
using CBase<T>::a;
using CBase<T>::b;
//...
public:
CDer() {
std::cout << a << this->c;
}
};
int main()
{
CDer<int> cd;
}
在我的真实代码中有更多的成员变量/函数,我想知道是否可以以某种方式编写更短的代码。
当然,使用this->c
语法并不能解决问题......
谢谢!
gcc 4.1 MacOS X 10.6