C++virtual筆記試験
6491 ワード
ずっと急いでいましたが、次はN回も出た問題です...
基礎として見た
CFirst
CSecond 2
-------------------------
A
任意のキーを押して続行してください.
基礎として見た
- #include <iostream>
- using namespace std;
-
- namespace Torxie
- {
- //
- class CFirst
- {
- public:
- void func()
- {
- cout<< "CFirst"<<endl;
- func2();
- }
- virtual void func2()
- {
- cout<<"CFirst 2"<<endl;
- }
- };
-
- class CSecond : public CFirst
- {
- public:
- void func()
- {
- cout<<"CSecond"<<endl;
- }
- virtual void func2()
- {
- cout<<"CSecond 2"<<endl;
- }
- };
- ////////////////////////////////////////////////
- class CA
- {
- public:
- void func();
- private:
- int m;
- };
- void CA::func()
- {
- cout<<"A"<<endl;
- }
-
- class CB
- {
- public:
- void func();
- private:
- int m;
- };
- void CB::func()
- {
- cout<<"B"<<endl;
- }
- }
-
- int main(int argc, char *argv[])
- {
- using namespace Torxie;
- CFirst *pFirst = new CSecond;
- pFirst->func(); //
- cout<<"-------------------------"<<endl;
- CA *pCA = (CA*)new CB(); // reinterpre_cast<A*>
- pCA->func();
- return 0;
- }
CFirst
CSecond 2
-------------------------
A
任意のキーを押して続行してください.