C++多态

联编(约束):

        动态联编(类中有虚函数、有继承关系)、静态联编(发生的时间段)

多态:

        在子类中重写父类的虚函数

        条件:虚函数成员的父类、同名成员函数的子类、指针

        虚函数表:所有的虚函数指针都在这里;子类不会继承父类虚函数表

        虚指针:指向虚函数表,4字节

        父类的析构函数定义为虚函数(虚析构)

class MyClass
{
public:
	MyClass() {}
	virtual ~MyClass() {
		std::cout << "~father =====" << std::endl;
	}

	virtual void test() {
		std::cout << "father =====" << std::endl;
	}
private:

};

class MyClass2 :public MyClass
{
public:
	MyClass2() {}
	~MyClass2() {
		std::cout << "~son =====" << std::endl;
	}

	void test() {
		std::cout << "son =====" << std::endl;
	}
private:

};



#if 0
	MyClass obj;
	MyClass2 obj2;
	MyClass* p;
	p = &obj;
	p->test();
	p = &obj2;
	p->test();
#else
	MyClass* p = new MyClass2;
	p->test();
	delete p;
#endif

纯虚函数:

virtual void test()  =0;

        抽象类:出现了一个及以上的纯虚函数的类(父类有几个纯虚函数,子类没有实现父类所有的纯虚函数,子类也是抽象类)

final:权限限制者

        阻止函数重写

void test() final;//final在参数表后面

        阻止类派生

class MyClass final

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值