- 转自:http://blog.csdn.net/bxyill/article/details/8639792
-
- #include <iostream>
- using namespace std;
- class base
- {
- public:
- virtual void f(float f)
- {
- cout << "base::f(float)"<<f<<endl;
- }
- void g(float f)
- {
- cout << "base::g(float)"<<f<<endl;
- }
- void h(float f)
- {
- cout << "base::h(float)"<<f<<endl;
- }
- };
- class Derived : public base
- {
- public:
- virtual void f(float f)
- {
- cout << "Derived::f(float)"<<f<<endl;
- }
- void g(int f)
- {
- cout << "Derived::f(int)"<<f<<endl;
- }
- void h(float f)
- {
- cout << "Derived::f(float)"<<f<<endl;
- }
- };
- void main()
- {
- Derived d;
- base *pB = &d;
- Derived *pD = &d;
- pB->f(3.14f);
- pB->g(3.14f);
- pB->h(3.14f);
- pD->f(3.14f);
- pD->g(3.14f);
- pD->h(3.14f);
- }
- 运行结果
- Derived::f(float)3.14
- base::g(float)3.14
- base::h(float)3.14
- Derived::f(float)3.14
- Derived::f(int)3
- Derived::f(float)3.14
- 请按任意键继续. . .
多态的特殊处理
最新推荐文章于 2022-04-23 13:12:25 发布