最近论坛有人讨论父类调用子类函数的问题,现整理如下:
问题:
class A
{
};
class B:public A
{
public:
void speek();
};
除了强制类型转换之外,能够用A调用speak()吗?
方法一、 用模板类
代码如下:
#include "stdafx.h"
#include <stdio.h>
template <typename T>
class A
{
public:
A()
{
pT = (T *) this;
}
test()
{
pT->speek();
};
T* pT;
};
class B : public A<B>
{
public:
void speek()
{