您的位置:首页 > 编程语言 > C语言/C++

简单例子:C++多态

2014-10-16 15:35 253 查看
多态指的是函数在运行过程中(而不是编译过程中)动态被绑定,C++用virtual虚函数实现多态。下面举个简单的例子:

#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,可以看到,通过虚函数,实现了动态绑定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: