这样:
#include<iostream>
using namespace std;
class container //定义抽象类conyainer
{public:
container(........)
virtual xx(){}; //虚函数
virtual xx(){}; //虚函数
virtual void xxx() const =0; //纯虚函数
private:
.......
};
class xxxx:public container //公用派生类xxxx
{public:
vitual xxxxx{....} //对虚函数再定义
注意事项
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person.Person买票就是全价,而Student买票就是半价。
那么在继承中要构成多态还需要两个条件:
1、调用函数的对象必须是指针或者引用。
2、被调用的函数必须是虚函数,且完成了虚函数的重写。
虚函数:在类的成员函数前加virtual关键字。
class Person{public:
virtual void BuyTicket()
{
cout << "买票-全价" << endl;
}};
虚函数的重写:派生类中有一个跟基类的完全相同的虚函数,就称子类的虚函数重写了基类的虚函数。“完全相同”是指:函数名、参数、返回值都相同。另外,虚函数的重写也叫做虚函数的覆盖。
C++程序:
#include <iostream>运行测试:
长方体的表面积:52给你一个相关的案例参考着写,顺便学习一下相关知识,这个虚基类是一个图形类,子类继承 并实现它的计算面积方法,
#ifndef GRAPH_HC++多态性实验 定义一个抽象类—容器内container,其中定义了若干纯虚...
这样:include<iostream> using namespace std;class container \/\/定义抽象类conyainer {public:container(...)virtual xx(){}; \/\/虚函数 virtual xx(){}; \/\/虚函数 virtual void xxx() const =0; \/\/纯虚函数 private:...};class xxxx:public container \/\/公用派生类xxxx {public:vitual xxx...