admin管理员组

文章数量:1031308

C++程序诗篇的灵动赋形:多态

本篇将开启 C++ 三大特性中的多态篇章,多态允许你以统一的方式处理不同类型的对象,通过相同的接口来调用不同的实现方法。这意味着你可以编写通用的代码,而这些代码可以在运行时根据对象的实际类型来执行特定的操作

1.什么是多态?

通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态

✏️举个例子:

比如买高铁票的时候,我们都属于 Person 类,买的时候会显示为全价,那么我们又属于 Student 类,继承于 Person 类,这时买的时候又会显示为半价,假设两个类都有 BuyTicket 函数,那么相同的函数在继承的基础上,能够实现不同的功能,这就是多态

2.多态的语法实现

2.1 虚函数

代码语言:javascript代码运行次数:0运行复制
class Person 
{
public:
	virtual void BuyTicket() 
	{ 
		cout << "买票-全价" << endl;
	}
};

virtual 修饰的类成员函数称为虚函数,注意这里和菱形虚拟继承的 virtual 没有关系,不过使用了同一个关键字而已

C++程序诗篇的灵动赋形:多态

本篇将开启 C++ 三大特性中的多态篇章,多态允许你以统一的方式处理不同类型的对象,通过相同的接口来调用不同的实现方法。这意味着你可以编写通用的代码,而这些代码可以在运行时根据对象的实际类型来执行特定的操作

1.什么是多态?

通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态

✏️举个例子:

比如买高铁票的时候,我们都属于 Person 类,买的时候会显示为全价,那么我们又属于 Student 类,继承于 Person 类,这时买的时候又会显示为半价,假设两个类都有 BuyTicket 函数,那么相同的函数在继承的基础上,能够实现不同的功能,这就是多态

2.多态的语法实现

2.1 虚函数

代码语言:javascript代码运行次数:0运行复制
class Person 
{
public:
	virtual void BuyTicket() 
	{ 
		cout << "买票-全价" << endl;
	}
};

virtual 修饰的类成员函数称为虚函数,注意这里和菱形虚拟继承的 virtual 没有关系,不过使用了同一个关键字而已

本文标签: C程序诗篇的灵动赋形多态