第十三周实验指导(一)

* (程序头部注释开始)                  
* 程序的版权和版本声明部分                                
* Copyright (c) 2011, 烟台大学计算机学院学生                                
* All rights reserved.                               
* 文件名称:阅读程序
* 作 者:齐艳红                               
* 完成日期: 2011年 5月 11日                               
* 版 本 号:                                
* 对任务及求解方法的描述部分:  
                            
*问题描述:用自己的话概括虚函数、 多太性和抽象类的理解



#include<iostream>
using namespace std;
class Vehicle
{
public:
	void run() const {cout<<"run a vehicle."<<endl;}
};
class Car:public Vehicle
{
public:
	void run()const{cout<<"run a car."<<endl;}
};
class Airplain:public Vehicle
{
public:
	void run()const{cout<<"run a airplain."<<endl;}
};
int main()
{
	cout<<"(a)直接用对象访问成员函数:"<<endl;
	Vehicle v;
	v.run();
	Car car;
	Airplain airplain;
	car.run();
	airplain.run();
	cout<<"(b)用指向基类的指针访问成员函数:"<<endl;
	Vehicle *vp;
	vp=&car;
	vp->run();
	vp=&airplain;
	vp->run();
	system ("pause");
}

(a)直接用对象访问成员函数:
run a vehicle.
run a car.
run a airplain.
(b)用指向基类的指针访问成员函数:
run a vehicle.
run a vehicle.
请按任意键继续. . .
 
#include
   
   
    
      
using namespace std;  
class Vehicle  
{  
public:  
    virtual void run() const {cout<<"run a vehicle."<<endl;}  
};  
class Car:public Vehicle  
{  
public:  
    void run()const{cout<<"run a car."<<endl;}  
};  
class Airplain:public Vehicle  
{  
public:  
    void run()const{cout<<"run a airplain."<<endl;}  
};  
int main()  
{  
    cout<<"(a)直接用对象访问成员函数:"<<endl;  
    Vehicle v;  
    v.run();  
    Car car;  
    Airplain airplain;  
    car.run();  
    airplain.run();  
    cout<<"(b)用指向基类的指针访问成员函数:"<
    
    
     
     run();  
    vp=&airplain;  
    vp->run();  
    system ("pause");  
}



    
    
   
   


 

(a)直接用对象访问成员函数:run a vehicle.

run a car.
run a airplain.
(b)用指向基类的指针访问成员函数:run a car.
run a airplain.请按任意键继续. . .
总结:这个结果和我之前预测的一样,对于虚函数的理解我有自己的看法:那就是我和你不一样,你可以套用我的,还可以增加你的,而我不变我就是我!这个和老贺说的拿东西原理一样。

而多态性:书上说是面向对象程序设计的一个重要特征。这个可以设计和实现易于扩展的系统。这好比每个人有每个人得责任,这里还有一个主管,每个人都要做好自己的责任,完成主管分配的任务,比较系统化。

抽象类:不用来定义对象而只作为一种基本类型用作继承的类,又叫抽象基类,而他的作用就是提供公共接口,他是一个类族的共同基类,或者说为一个类族提供公共接口,作用都很大啊!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值