码迷,mamicode.com
首页 > 其他好文 > 详细

静态联编和动态联编初认识。

时间:2015-12-11 01:21:21      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

多态性:

  1. 静态联编多态性(编译时的多态性)通过函数,运算符的重载实现的(系统根据形参的个数来实现编译的多态性)
  2. 动态联编多态性(运行时的多态性)通过继承,虚函数(当运行时才能实现对象与函数的联编)C++规定:动态联编是在虚函数的支持下实现的

           条件:指向派生类对象的基类指针或者引用派生类对象的基类引用(调用虚函数)

动态联编:

 1     #include <iostream>  
 2     using namespace std;  
 3     class shape{  
 4       public:  
 5         void virtual draw(){cout<<"I am shape"<<endl;}//这里设定了draw是虚函数  
 6         void fun(){draw();}  
 7     };  
 8     class circle:public shape{  
 9       public:  
10         void draw(){cout<<"I am circle"<<endl;}//虽然没有说明circle类中的draw是虚函数,但是circle其实继承了virtual性质  
11     };  
12     void main(){  
13         circle  oneshape;  
14         oneshape.fun();  
15     }  

若没有virtual ,程序就会输出I am circle,因为有了虚函数进行了绑定,若没有,输出为 I am shape;若要深入弄懂链表,必须学习数据结构和汇编,

其实虚函数的本质就是了个数据结构。也就是虚函数

静态联编和动态联编初认识。

标签:

原文地址:http://www.cnblogs.com/biyongyao/p/5037732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!