《虚函数——用基类指针访问派生类中的成员函数》

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《虚函数——用基类指针访问派生类中的成员函数》
* 作 者: 刘江波
* 完成日期: 2012 年 7 月 3 日
* 版 本 号: v.73

* 对任务及求解方法的描述部分
* 问题描述:

基类与派生类中有相同的成员函数,通过基类指针来调用相同的成员函数
* 程序头部的注释结束
*/

#include<iostream>

#include<string>

using namespace std;

class Student//声明基类

{

public:

	Student(int,string,float);

	virtual void display();//声明虚函数

protected:

	int num;

	string name;

	float score;

};

Student::Student(int n,string nam,float s)

{

	num = n;

	name = nam;
	 
	score = s;

}

 void Student:: display()

{

	cout << "nam:" << num << "\nname:" << name << "\nscore:" << score << "\n\n";

}

class Graduate:public Student//声明派生类

{

public:

	Graduate(int,string,float,float);

	void display();

private:

	float pay;

};

void Graduate::display()

{

	cout << "nam:" << num << "\nname:" << name << "\nscore:" << score << "\npay:" << pay <<"\n\n";

}

Graduate::Graduate(int n,string nam,float s,float p):Student(n,nam,s),pay(p){ }

int main()

{

	Student stud1(1001,"li",100);

	Graduate grad1(2001,"liujiangbo",100,10000);

	Student *pt = &stud1;//定义基类指针

	pt -> display();

	pt = &grad1;  //用基类指针指向派生类的成员函数

	pt -> display();

	system("PAUSE");

	return 0;

}


总结使用方法:

1、在基类中定义虚函数

2、在派生类中通过函数覆盖定义与基类函数同名的函数

3、定义基类指针

4、用基类指针调用派生类的成员函数

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值