简单例子:C++多态
2014-10-16 15:35
253 查看
多态指的是函数在运行过程中(而不是编译过程中)动态被绑定,C++用virtual虚函数实现多态。下面举个简单的例子:
输出结果为:A,a->print()并没有被绑定到类B上,这不是多态
下一个例子:
输出结果为B,可以看到,通过虚函数,实现了动态绑定
#include <iostream> using namespace std; class A { public: A() {a = 1;} void print() {cout << "A" << endl;} protected: int a; }; class B:public A { public: void print() {cout << "B" << endl;} }; int main() { A *a; B b; a = &b; a->print(); return 0; }
输出结果为:A,a->print()并没有被绑定到类B上,这不是多态
下一个例子:
#include <iostream> using namespace std; class A { public: A() {a = 1;} virtual void print() {cout << "A" << endl;} protected: int a; }; class B:public A { public: virtual void print() {cout << "B" << endl;} }; int main() { A *a; B b; a = &b; a->print(); return 0; }
输出结果为B,可以看到,通过虚函数,实现了动态绑定
相关文章推荐
- C++多态是如何实现的——一个简单明晰的例子告诉你!
- 关于继承和多态的一个简单例子
- C++学习------参数多态的例子
- 用Boost::spirit库写C++的源代码解析器(一) 一个简单的例子:解析enum的解析器雏形
- C++ 回调函数的简单例子
- java多态简单例子 one
- 一个最简单的com组件的例子(C++)
- 一个利用友元函数结合C和C++的简单例子
- 关于C++多态的一个例子
- 在遍历C++map中删除元素算法(简单例子)
- 简单C++调用lua函数及C++和lua相互函数调用小例子
- C++学习------强制多态的例子
- c++简单例子
- c++Web Service的简单例子
- C# 实现多态的的简单易学的例子-实现不同的用户登录到不同的界面(用抽象类,抽象方法实现的多态)加上泛型来实现
- C++学习------包含多态的例子
- 使用C++对文件加密的简单例子
- C++ Boost 之Python(一个简单的例子)
- 一个简单例子让你了解C++命名空间
- 【09.03.30】Android中使用C++程序读写Parcel的简单例子