c++虚函数经典例子
来源:互联网 发布:网络专题策划方案 编辑:程序博客网 时间:2024/06/11 04:59
c++虚函数经典例子演示
c++博大精深,封装,继承,多态是c++的三大特征,c++很强大,但是强大的东西理解起来就是要比不强大的难一点,所以现在看看
c++的多态:
多态条件:
1.必须是公有继承。
2.必须是虚函数
一个好的程序要对修改封闭,对扩展开放,虚函数就能很好的解决这个问题,
基类的指针指向子类的对象并调用子类的同名函数,要实现这种效果,就得用虚函数
关键字:virtual
虚函数的注意点:
1.必须是普通成员函数(可以是常成员,不能是静态成员,不能使全局函数)
2.内联函数不会是虚函数
3.构造函数不能为虚函数(析构函数一般声明为为虚函数)
经典例子:
1 #include 2 3using std::cout; 4using std::cin; 5using std::endl; 6 7// 基类 8class Fruit{ 9public:10virtualvoid print(){11 cout<< "Fruit"<<endl;12 }13};1415class Banana: public Fruit{ // 一定要共有继承16public:17void print(){ // 此处可省略virtual关键字,但是函数原型要与Fruit中虚函数 void print(); 完全一致18 cout<< "Banana"<<endl;19 }20};2122class Apple: public Fruit{23public:24void print(){25 cout<< "Apple"<<endl;26 }27};2829class Pear: public Fruit{30public:31void print(){32 cout<< "Pear"<<endl;33 }34};3536class Peach: public Fruit{37public:38void print(){39 cout<< "Peach"<<endl;40 }41};4243int main(void)44{45 Banana ban;46 Apple ape;47 Pear par;48 Peach pch;49 Fruit *frt[] = {&ban, &ape, &par, &pch};5051for(int i = 0; i < 4; i++)52 frt[i]->print(); // 一个基类指针,分别调用不同的子类对象(动态多态)5354 system("PAUSE");55return0;56 }
阅读全文
0 0
- C++虚函数经典例子
- c++虚函数经典例子
- c++虚函数经典例子演示
- c经典例子______01
- 函数指针学习经典例子
- C++----------------------------c++继承经典例子
- [c++]继承的经典例子
- C语言 经典小例子
- c++——虚函数例子代码
- 递归函数的经典例子(汉诺塔问题)
- 如何用C语言函数指针实现C语言弹性编码,TCP/IP协议中的经典例子
- C语言操作mysql经典例子
- C/C++连接MySQL数据库“经典”例子!
- C++引用C函数例子
- C函数及使用例子
- 复制构造函数和析构函数经典例子
- c语言-一些学习c的经典例子
- 关于Oracle过程,函数的经典例子及解析
- EditText默认不弹出软件键盘
- MySQL 的介绍
- 自底向上分析网络体系结构
- 视音频数据处理入门:FLV封装格式解析——雷神经典
- 3.2 Android Studio常用功能与快捷键
- c++虚函数经典例子
- LeapMotion Demo1
- 对html文本去除标签(超文本去除标签部分)
- PAT甲级真题及训练集(13)--1027. Colors in Mars (20)
- Jfinal对Oracle数据库Date类型的字段个人感觉不是很好
- Maven打包可运行jar
- Linux下浅谈crond与crontab
- [Ceph分析]源码目录结构分析
- ubuntu开机自启动tomcat