父类的头文件中声明该父类类型的函数,在其子类的cpp文件中实现该函数--什么意思?
在父类(CCon)的头文件中,最底部(不在类定义内)有函数声明
- C/C++ code
CCon* CreateCon(int nConnID);
然后在其子类(CzCon)的cpp文件中,有函数的实现:
- C/C++ code
CCon* CreateCon(int nConnID){ return new CzCon(nConnID);}
这是什么意思?是不是如果按下面定义,就可以自动令pCon为子类的类型?那当定义pCon的时候,是通过函数声明找到函数的定义的?
- C/C++ code
CCon* pCon = CreateCon(nConnID)
[解决办法]
挺奇怪的,没见过这么干的。你说的都对,pCon指向的确实是CzCon类型。
[解决办法]
- C/C++ code
#include <iostream>using namespace std;class Base{public: void fun() { cout << "base fun()" << endl; }};class Derived : public Base{public: void fun() { cout << "Derived fun()" << endl; }};int main(){ Derived td; td.fun(); return 0;}
[解决办法]
pCon指向它的子类
[解决办法]
就是一个全局函数的声明和实现而已