什么是多态性?举例说明。(面向对象程序设计C++)

什么是多态性?举例说明。(面向对象程序设计C++),第1张

多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。 多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。动态多态性是指定义在一个类层次的不同类中的重载函数,它们一般具有相同的函数,因此要根据指针指向的对象所在类来区别语义,它通过动态联编实现。

1.三种派生方式:private public protected

private:只允许在派生类的成员函数中访问基类原有的非私有成员

public:基类中的所有公有成员和保护成员在派生类中认为公有成员和保护 成员,可以通过派生类的成员函数访问基类中所有非私有成员。还可通过派生类的对象直接访问基类中的公有成员。

protected:基类中的所有公有成员和保护成员都成了保护成员,只允许派生类的成员函数及派生类的派生类中的成员函数访问基类的非私有成员,不能通过派生类的对象直接访问基类的任何成员。

2.派生类不能访问基类的私有成员。无论那种派生方式都继承了基类的所有成员,当然也包括私有成员,可以通过调用公有成员函数来访问和设置私有成员。

3.保护成员的特性:能被该类和继承类的成员函数访问。

(基类中的保护成员被公有私有方式继承后的特性看第一题)

4.派生类的构造函数执行之前必先调用基类的构造函数,建立基类的一个对象,当对象生命周期完结之时,先调用派生类的析构函数释放其资源,而后调用基类的析构函数。

5.基类中的构造函数和析构函数都不能被继承。

派生类的构造函数:派生类中的新的或者改造来的成员则需要自己的构造函数,从基类中继承来的则调用基类的构造函数。其中分隐式调用和显式调用。析构函数需派生类中重新构造。

6.多重继承:一个派生类由多个基类派生而来叫做多重继承。多重继承时,首先调用所有基类的构造函数,多个基类的构造函数的调用顺序按照定义派生类时各基类的排序确定,而后调用派生类的构造函数,析构函数为此逆序。

1.调用函数模板时产生一个实例——模板函数;类模板声明时所给出的已经确定了数据类型的类成为模板类,也就是说模板类是类模板的实例。

2.先调用模板函数,将具体的参数数据类型替换生成一个具体的函数使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11005886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存