看一个项目类似写法如下,能成功运行,但是没搞懂为什么可以这么写。
template <typename T>
Class_A<T>::funcitonA()
{
return T.functionB();
这里模板类A还没实例化却能直接调用B类的成员函数??
}
Class_B
{
public:
functionB();
}
当然可以了啊。
反过来讲,如果这样都不行,那模板类的类型T如果是个类的话,那还能干啥啊?当然要调用T的方法的啊。
这就要求对应的T类提供这些函数并且实现,就像接口类一样。
能啊,只不过如果没有那个函数会报错