虚函数的体验
来源:互联网 发布:人民币入篮 知乎 编辑:程序博客网 时间:2024/06/10 18:45
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: object.cpp* 作者:王飞* 完成日期:2013 年5月 31日* 版本号: v1.0* 输入描述:无* 问题描述:虚函数的体验* 程序输出:如下*/#include <iostream>using namespace std;class Vehicle //交通工具{ public : //定义输出函数为虚函数 virtual void run()const{cout<<"run a vehicle."<<endl;}};class Car: public Vehicle //汽车{ public : //定义输出函数为虚函数 virtual void run()const { cout<<" run a car. "<<endl; }};class Airplane: public Vehicle //飞机{ public : //定义输出函数为虚函数 virtual void run()const { cout<<"run a airplane ."<<endl; }};int main (){ cout<<"(a) 直接用对象访问成员函数:"<<endl; Vehicle v; v.run(); Car car; Airplane airplane; car.run(); airplane.run(); cout<<"(b) 用指向基类的指针来访问成员函数:"<<endl; Vehicle *vp; vp=&car; vp->run(); vp=&airplane; vp->run(); return 0;}
输出结果:
心得体会:
对于虚函数自己的理解:简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。利用指针来逐一的进行访问。调用的函数在基类中被说明为虚函数,那么子类中该函数也自动成为虚函数,调用时会根据指针所指向的对象调用相应类的虚函数.实现动态联编。
- 虚函数的体验
- 体验虚基类的析构函数和虚函数
- 体验构造函数的重载
- 体验函数参数的传递
- 体验虚基类的析构函数
- Scala讲座:函数式语言的体验
- 再次体验 sscanf函数的强大
- 体验函数参数
- 体验时间函数
- 体验指针函数
- 体验成员函数
- 体验常成员函数
- 体验常成员函数
- 体验常成员函数
- 体验成员函数
- 体验常成员函数
- 体验常成员函数
- 体验常成员函数
- sql存储过程
- Memcahce和Redis比较
- 关于 static 的一道题
- ASP程序与SQL存储过程详解
- 六脚自锁开关 引脚定义
- 虚函数的体验
- PHP函数:session_name() session_id()
- c# 多线程模拟生产者消费者
- Div+CSS规则整理
- qInstallMsgHandler
- Operations on Arrays in opencv
- 在 IBM Lotus Notes 和 Domino 中编写快速查找代码
- 查看Oracle索引和视图的方法
- Asp.net中防止用户多次登录的方法