基类中的纯虚类成员函数需要在派生类中实现其定义,本实例中派生类继承了两个接口类(纯虚类也可以称为接口类)。实例如下:
#includeusing namespace std; class ICmybase0 { private: public: ICmybase0(); ~ICmybase0(); int firstFunction0(); virtual int onConnect() = 0; virtual int onDataIn() = 0; }; ICmybase0::ICmybase0() { printf("ICmybase0n"); } ICmybase0::~ICmybase0() { printf("~ICmybase0n"); } class ICmybase1 { private: public: ICmybase1(); ~ICmybase1(); int firstFunction1(); virtual int GetConnect() = 0; virtual int GetDataIn() = 0; }; ICmybase1::ICmybase1() { printf("ICmybase1n"); } ICmybase1::~ICmybase1() { printf("~ICmybase1n"); } class myPeople: public ICmybase0, public ICmybase1 { private: public: myPeople(); ~myPeople(); int myPrintName(); virtual int onConnect(); virtual int onDataIn(); virtual int GetConnect(); virtual int GetDataIn(); }; myPeople::myPeople() { printf("construct myPeople objn"); } myPeople::~myPeople() { printf("destory myPeople objn"); } int myPeople::myPrintName() { printf("myPeople::myPrintNamen"); } int myPeople::onConnect() { printf("onConnect commingn"); } int myPeople::onDataIn() { printf("onDataIn commingn"); } int myPeople::GetConnect() { printf("GetConnect commingn"); } int myPeople::GetDataIn() { printf("GetDataIn commingn"); } int main() { myPeople *pobj = new myPeople; ICmybase0 *pICbase0 = pobj; ICmybase1 *pICbase1 = pobj; cout << "pobj" << pobj << endl; cout << "==============================" << endl; pICbase0->onDataIn(); pICbase0->onConnect(); pICbase1->GetDataIn(); pICbase1->GetConnect(); pobj->myPrintName(); cout << "==============================" << endl; delete pobj; printf("[%s|%d] main exitn", __FUNCTION__, __LINE__); return 0; }



