A . 继承概念
继承机制是面向对象的程序设计使得代码可以进行复用, 允许在原有的基础上进行扩展, 增加功能 。
//继承
#include
#include
using std :: cout;
using std :: endl;
using std :: string;
struct Person
{
public:
void Print()
{
cout " " _name = "Mike";
return 0;
}
—–>注意 :>继承 —>类设计 层次的复用 。
———->调试 过程 :>
—–>NO 1.
—–>NO 2.
B . 继承格式
——->格式如下 :>
——>以及 下列图示 :>
——>小结 :>
(服务器托管网1). 基类 private 成员在派生类当中是不能够被访问到的, 如果基类成员不想在类外面直接被访问, 但是需要在派生类中能够访问, 就定义成 protected 。可以看出, protected (保护限定符)因继承而出现 。
(2). 关键字 class 默认继承方式 private ; 而 struct 默认继承 public (建议 :显示出继承方式)
C . 基类 ~~ 派生类对象 赋值转换
———>派生类对象 可以赋值给 基类的对象 / 基类的指针 / 基类的引用 。即, 切片 ~~ 切割 ;
意即, 可以将 派生类中 基类的那一部分切下来赋值过去 ;
———>基类对象不能赋值给派生类对象 ;
———>基类的指针 ~~ 基类的引用 可以通过强制类型转换赋值给派生类的指针 与引用 。但是 必须是基类的指针指向派生类对象 。
D .继承中的作用域
(1). 在继承体系中 基类 ~~ 派生类 都有独立的作用域 ;
(2). 基类 ~~ 派生类 有同名成员—>隐藏 :> 子类成员将屏蔽掉 基类对同名成员的直接访问 ;
或是 重定义, 在子类成员函数中, 可以使用 基类 :: 基类成员 —>进行显示访问 。
(3). 注意 :>如果是成员函数的隐藏, 只需要 函数名相同就会构成隐藏 ;
—————>在实际中, 继承体系里面最好不要定义 同名成员 。
——->隐藏 / 重定义 :>
//隐藏 / 重定义
#include
#include
using std :: cout;
using服务器托管网 std :: endl;
using std :: string;
class Person
{
public:
void Func()
{
cout
为了方便好友们, 有更好的观感体验, 现附上 彩色 代码图样 :>
E . 派生类的默认成员函数(共有 六个 )
———>默认,即 编译器会自动生成
(a). 派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员 。如果基类没有默认的构造函数, 则必须在派生类的构造函数 —>进行初始化列表显示调用 ;
(b). 派生类的拷贝构造函数必须调用基类的拷贝构造函数完成基类的拷贝初始化 ;
(c). 派生类对象的析构清理, 会先去调用派生类的析构, 之后再调用基类的析构进行清理 ;
——->演示环节 :>
//派生类__默认成员函数
#include
#include
using std :: cout;
using std :: endl;
using std :: string;
class Person
{
public:
Person(const char* name)
:_name(name)
{
cout
为了方便好友们, 有更好的观感体验, 现附上 彩色 代码图样 :>
——–>实现环节 :>
——–>测试环节 :>
各位好友, 本期 内容 已完结 !
下一期 展示新的 领域 —–>继承(多态) “敬请期待 !
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 一种读取亿级doris数据库的方法 | 京东云技术团队
源创会,线下重启!2023年7月1日深圳站—基础软件技术面面谈!免费票限时抢购! 工作中,常常需要将线上doris同步至集市。读取doris数据同读取常规mysql基本相同。如果数据行小于千万,比较简单的方式直接单节点连接、读取和存储。Python示例如下: …