侯捷书内 : 扩展模板类 内通过 this-> 指模板基类的成员函数,或通过 基类名:: 的方式调用 基类成员函数
侯捷书内说: 扩展模板类,找不到模板基类的成员函数
但是在vs2013就可以编译通过,侯捷书里说需要this->function() 方式调用
#include<iostream>
#include<vector>
using namespace std;
class testB
{
public:
void function()
{
cout << "function B" << endl;
}
};
class testA{
public:
void function()
{
cout << "function A" << endl;
}
};
template<typename T>
class base{
public:
void function()
{
cout << "function base" << endl;
T c;
c.function();
}
};
template<typename T>
class Bl :public base<T>
{
public:
void test()
{
/*
侯捷说这里编译不过,因为基类具体是哪一个不知道,
但是在vs2013就可以编译通过,侯捷书里说需要this->function() 方式调用*/
function();
}
};
int main()
{
vector<int> vec = { 1, 2, 3, 4, 5 };
//Bl<testA> *b = new Bl<testA>();
//Bl<testB> *b = new Bl<testB>();
//b->test();
getc(stdin);
return 1;
}