C++多态的实现条件
2015-01-29 21:59
155 查看
#include <iostream> class Person{ public: virtual void say(){ std::cout<<"person"<<std::endl; } }; class Student:public Person{ public: void say(){ std::cout<<"student"<<std::endl; } }; int main(){ Person per; Student stud; per.say(); stud.say(); //传递对象 per = stud; per.say(); //指针 Person *pPtr = &stud; pPtr->say(); //引用 Person &pRef = stud; pRef.say(); }
1. 基类中用virtual关键字表明方法
2. 采用父类的引用和指针调用多态方法,父类对象本身不能实现多态
相关文章推荐
- C++对象布局及多态实现探索之内存布局
- C++对象及多态实现探索之内存布局
- C++对象布局及多态实现的探索(二)
- 潘凯:C++对象布局及多态实现的探索(一)
- C++对象布局及多态实现的探索(六)
- C++中实现多态的方法
- 潘凯:C++对象布局及多态实现的探索(五)
- 【C++专题】virtual函数实现的多态、RTTI(dynamic_cast,typeid)、vtable中类型信息
- C++对象布局及多态实现之带虚函数的类
- 潘凯:C++对象布局及多态实现的探索(三)
- 用C实现C++的多态---剖析GTK的"对象" (一)
- C++对象布局及多态实现探索之内存布局
- c++ 如何实现多态
- C++对象布局及多态实现的探索(一)
- C++多态技术的实现和反思
- C++对象布局及多态实现探索之内存布局
- 用C实现C++的多态---剖析GTK的"对象" (四)
- C++对象布局及多态实现之动态和强制转换
- C++对象布局及多态实现的探索(四)
- 潘凯:C++对象布局及多态实现的探索(四)