C++,多态的实现,语法练习
来源:互联网 发布:织梦cms是在ftp上传吗 编辑:程序博客网 时间:2024/05/08 18:25
实现多态的步骤:
1. 父类 派生出 子类
2. 父类的指针指向之类的对象
3. 子类成员函数覆盖父类的成员函数
4. 父类成员函数前加 virtual 修饰
//duotai.cpp#include <iostream>using namespace std;class cAnimal{public:// 父类 成员函数要加 virtual virtual void breath(){cout<<"动物要呼吸"<<endl;}};class cBird:public cAnimal{public:// 子类 覆盖 父类 成员函数 breathvoid breath(){cout<<"鸟要呼吸"<<endl;}};class cFish:public cAnimal{public:// 子类 覆盖 父类 成员函数 breathvoid breath(){cout<<"鱼要呼吸"<<endl;}};// 把类 cAnimal 中的虚函数breath封装起来void AnimalBreath(cAnimal& a){a.breath();}void main(){cAnimal* p; // 父类指针cBird bird;p = &bird; // 指向之类对象p->breath();cFish fish;p = &fish; // 指向新的类对象,实现动态绑定p->breath();// --- 更好的应用是把 父类中的虚函数封装到一个类或者函数中,就可以公用了.cout<<"---------"<<endl;AnimalBreath(bird);AnimalBreath(fish);}
//---
虚函数限制:
1. 只有类的成员函数才能为虚函数
2. 静态函数不能为虚函数
3.内联函数不能是虚函数
4.构造函数不能是虚函数,析构函数通常是虚函数
- C++,多态的实现,语法练习
- C++,返回对象的引用,语法练习
- C++, 类的构造函数 语法练习
- C++,类的拷贝构造函数,类的申明和实现分开写, 语法练习
- C++,类的析构函数,语法练习
- C++,类的构造函数重载,语法练习
- 语法部分的练习
- 语法部分的练习
- JSP语法的练习
- 谈谈 Objective-C 链式语法的实现
- C++,类,对象,引用--语法练习.
- C++,字符数组,赋值问题,语法练习
- markdown语法的练习使用
- C++,类的对象 (栈上的和堆上的),语法练习
- 基于c语言的语法分析器的实现
- C语言练习01:单向链表的实现
- [算法练习]堆排序的C语言实现
- [算法练习]插入排序的C语言实现
- “移动开发那点事”——程序员成长经历
- Kindle fire HD 使用 亚马逊原生应用
- java中数组与List相互转换的方法
- 如何为嵌入式开发建立交叉编译环境
- samba的配置
- C++,多态的实现,语法练习
- PureMVC
- 如何去掉grouped样式UITableView中cell的边框和背景
- ExtJS 开发调试工具大全
- servlet中文乱码问题
- iBatis防止SQL注入
- 双链表的建立、求长、定位、插入、删除、输出和释放(带头结点且成环状)
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
- Android布局