继承一个模板类要用this访问基类

对于那些在基类中声明,并且依赖于模板参数的符号(函数或者变量等),应该在它们前面使用this->或者Base<T>::
#include<iostream>this
using namespace std;

template<typename T>
class A{
public:
    void f(){
        cout << "A::f()" << endl;
    }
};

template<typename T>
class B:public A<T>{
public:
    B(){
        this->f();//一定要加this->,除非B中也有一个f(),那么调用的就是B::f()
        A<T>::f();//这样也可以
    };
};

int main()
{
    B<int> b;
}


A::f()
A::f()

你可能感兴趣的:(C++,c,F#,C#)