【C++】方法的重写、重载、重定义

重写:对父类的同名虚函数进行重定义,有多态的效果

重载:方法或者类中的成员方法定义的时候,方法名相同,参数不同,参数顺序不同;未实现多态

重定义:对父类同名方法进行重新定义,未实现多态

class Parent
{
public:
	Parent(int a, int b):A(a),B(b)
	{
	}

	int A;
	int B;

	void Print()
	{
		cout << "A " << A << endl;
		cout << "B " << B << endl;
	}

	//重载,未实现多态
	void Print(string name)
	{
		cout << "Name is " << name << endl;
	}

	virtual void Show()
	{
		cout << "Parent Show Something" << endl;
	}

};

class Child : public Parent
{
public:
	Child(int a, int b, int c) :Parent(a,b)
	{
		this->C = c;
	}
	int C;

	//重定义父类,未实现多态
	void Print()
	{
		cout << "A " << A << endl;
		cout << "B " << B << endl;
		cout << "C " << C << endl;
	}

	//重写父类函数,实现了多态效果
	void Show() override//override 可写 可不写
	{
		cout << "Child Show Something" << endl;
	}
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值