扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:李马编译 来源:VCKBASE 2007年10月19日
关键字:
#include <iostream> using namespace std; class Inner { public: void Fun() { cout << "Inner::Fun" << endl; } }; class Outer { private: Inner* m_pInner; public: Outer(Inner* p_pInner) : m_pInner(p_pInner) { } Inner* operator -> () { return m_pInner; } }; int main() { Inner objInner; Outer objOuter(&objInner); objOuter->Fun(); return 0; } |
#include <iostream> using namespace std; class Inner { public: void Fun() { cout << "Inner::Fun" << endl; } }; template <typename T> class Outer { private: T* m_pInner; public: Outer(T* p_pInner) : m_pInner(p_pInner) { } T* operator -> () { return m_pInner; } }; int main() { Inner objInner; Outer<Inner> objOuter(&objInner); objOuter->Fun(); return 0; } |
#include <iostream> using namespace std; class Base1 { public: Base1() { cout << "Base1::Base1" << endl; } }; class Base2 { public: Base2() { cout << "Base2::Base2" << endl; } }; template <typename T> class Drive : public T { public: Drive() { cout << "Drive::Drive" << endl; } }; int main() { Drive<Base1> obj1; Drive<Base2> obj2; return 0; } |
Base1::Base1 Drive::Drive Base2::Base2 Drive::Drive |
#include <iostream> using namespace std; class Base { public: virtual void fun() { cout << "Base::fun" << endl; } void doSomething() { fun(); } }; class Drive : public Base { public: void fun() { cout << "Drive::fun" << endl; } }; int main() { Drive obj; obj.doSomething(); return 0; } |
婵″倹鐏夐幃銊╂姜鐢瓕鎻╅崚鍥╂畱閹厖绨$憴顤廡妫板棗鐓欓張鈧弬棰侀獓閸濅椒绗岄幎鈧張顖欎繆閹垽绱濋柇锝勭疄鐠併垽妲勯懛鎶姐€婄純鎴炲Η閺堫垶鍋栨禒璺虹殺閺勵垱鍋嶉惃鍕付娴f娊鈧柨绶炴稊瀣╃閵嗭拷