C++ 学习之旅(15)——继承inheritance

所谓继承,就是在原有的类的基础上,通过继承它并添加一些新的成员,从而产生出一个新的类。例如我们在游戏有实体Entity和玩家Player,它们都有位置X,Y和一个移动的方法Move,但不同的是玩家有名字Name,而且可以打印名字。代码如下:

class Entity
{
public:
	float X, Y;

	void Move(float x, float y)
	{
		X = X + x;
		Y = Y + y;
	}
};

class Player
{
public:
	float X, Y;
	const char* Name;

	void Move(float x, float y)
	{
		X = X + x;
		Y = Y + y;
	}

	void PrintName()
	{
		std::cout << Name << std::endl;
	}
};

这样子显然太麻烦了,通过继承,我们可以自动实现重复代码的复制粘贴,让代码看上去更加整洁:

class Entity
{
public:
	float X, Y;

	void Move(float x, float y)
	{
		X = X + x;
		Y = Y + y;
	}
};

class Player : public Entity
{
public:
	const char* Name;

	void PrintName()
	{
		std::cout << Name << std::endl;
	}
};

在这里插入图片描述
可以看到,实例化的player同样拥有成员X,Y和Move()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值