c++中的动态联编

来源:互联网 发布:数组方法的使用 编辑:程序博客网 时间:2024/06/05 20:45

在c++中的动态联编是通过虚函数来实现,但在调用时 , 必须用引用、指针才能实现动态联编

例子如下:

指针调用

#include <iostream>using namespace std;const double pi = 3.14;class A{public:    A() {};    virtual double area() const {return 0.0;}};class B:public A{public:    B(double myr)  {R = myr;}    virtual double area()  const {return pi*R*R;}private:    double R;};int main(){    A *fig;    B c(3.0);    cout<<"Area of B is  ";    fig = &c;    cout<<fig->area()<<endl;    return 0;}



普通变量调用

#include <iostream>using namespace std;const double pi = 3.14;class A{public:    A() {};    virtual double area() const {return 0.0;}};class B:public A{public:    B(double myr)  {R = myr;}    virtual double area()  const {return pi*R*R;}private:    double R;};int main(){    A fig;    B c(3.0);    cout<<"Area of B is  ";    fig = c;    cout<<fig.area()<<endl;    return 0;}


0 0
原创粉丝点击