在生活中经常会遇到同一个事情有不同的解决办法,比如篮球得分,可以有很多种得分方式,上篮或者扣篮等,但实现这些方式都需要一个篮球,那通过不同方式得分的这个过程就可以叫做多态。作者在学习工作中,理解了多态的实现方式,这里是一个实现多态的模版,请大佬批评!!!
#ifndef _SCORE_H
#define _SCORE_H
class score
{
public:
score(){};
~score(){};
public:
virtual int ScoreByMe(int points) = 0;
};
#endif
#ifndef _SCORE_A_H
#define _SCORE_A_H
class score_A : public score
{
public:
score_A(){};
~score_A(){};
public:
virtual int ScoreByMe(int points);
};
#endif
#include<iostream>
#include"score_a.h"
int score_A::ScoreByMe(int points)
{
//上篮;
points = 2;
std::cout << "ScoreA: 上篮得分 " << points << std::endl;
return points;
}
#ifndef _SCORE_B_H
#define _SCORE_B_H
class score_B : public score
{
public:
score_B(){};
~score_B(){};
public:
virtual int ScoreByMe(int points);
};
#endif
#include<iostream>
#include"score_b.h"
int score_B::ScoreByMe(int points)
{
//投三分;
points = 3;
std::cout << "ScoreB: 投三分得分 " << points << std::endl;
return points;
}