提示:本文为学习记录,若有错误,请联系作者,谦虚受教。
战地黄花分外香
多态的概念:意思是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态(将相同的消息发送给不同的对象从而产生不同的状态)。
虚函数使用的其核心目的是通过基类访问派生类定义的函数。所谓虚函数就是在基类定义一个virtual +未实现的函数名,在派生类里重写虚函数。
class AAAAA {
public:
virtual void BuyTicket() { cout << "购物-全价" << endl; }
};
class BBBBB : public AAAAA {
public:
virtual void BuyTicket() { cout << "购物-五折" << endl; }
};
void Func(AAAAA& p)
{ p.BuyTicket(); }
int main()
{
AAAAA ps;
BBBBB st;
Func(ps);
Func(st);
return 0;
}
1、两个函数分别在基类和派生类的作用域
2、函数名/参数/返回值都必须相同(协变例外)
3、两个函数必须是虚函数
1、两个函数在同一作用域
2、函数名/参数相同
1、两个函数分别在基类和派生类的作用域
2、函数名相同
3、两个基类和派生类的同名函数不构成重写就是重定义
C++中最重要的是封装、多态、继承。
多态就是将不同的消息发送给不同的对象从而产生不同的反应,实现方式,在基类中定义一个没有实现的虚函数名,就是没有任何操作的,在派生类中重写这个虚函数,后面通过调用基类的指针或者是引用虚函数来实现不同效果。
善于总结,多进一步。