C++学习笔记(6)——面向对象程序设计二

目录

〇 代码重用

〇 类的组合

○ 组合类对象的定义与访问

○ 组合类对象的构造与析构

○ 类的聚合

〇 类的继承与派生

○ 派生类的定义与访问

○ 保护权限与保护继承

○ 派生类对象的构造与析构

〇 多态性

○ 运算符多态与重载

○ 对象的替换与多态

○ 对象多态性

○ 抽象类

〇 多继承

○ 多个基类之间的成员重名


 

❤ 2020.7.29 ❤

〇 代码重用

〇 类的组合

○ 组合类对象的定义与访问

也可以间接访问组合类中的对象

○ 组合类对象的构造与析构

 

○ 类的聚合

♦ 没看懂聚合类是怎么回事。。。

 

〇 类的继承与派生

○ 派生类的定义与访问

♣ Input函数因为被覆盖了,所以要指明基类。

○ 保护权限与保护继承

当定义基类使用保护权限时:

♣ 通过对象访问成员,只能访问公有权限的成员,保护权限和私有权限都不能访问。

♣ 在派生类中,新增函数成员访问基类成员,公有权限成员和保护权限成员都可以访问,或者说,类中的保护成员只对派生类中的新增函数成员开放,这就是【半开放】。

 

当继承基类使用保护继承时:

♣ 公有继承和私有继承对外部函数一视同仁。

♣ 派生类保护继承基类,对下级派生类的新增函数成员来说,派生类中的基类成员没有被封装,但对派生类外部的所有其他函数来说,这些成员被封装起来了,这就是【半封装】。

♣ 保护继承就是对下级派生类保持开放,而对其他函数来说,这些成员被隐藏。

 

○ 派生类对象的构造与析构

♣ 构造时,先初始化基类成员,再初始化新增成员,析构时相反,先析构新增成员,再析构基类成员。

♣ 组合派生类:如果派生类的新增成员中包含对象成员,则该派生类就是组合派生类。

一个赞破

 

〇 多态性

○ 运算符多态与重载

♣ 针对不同运算符,其运算符函数的具体实现方法也有所不同。(单目、双目;前置、后置等等)

♣ C++语言规定,前置单目运算符重载为函数成员时,没有形参,而后置单目运算符重载时,需要有个int型形参,并且没有参数名,在函数体中并不使用这个形参,只是为了使这两个重名函数有不同的形参,实现重载。

♣ 为方便程序员,c++语言默认为所有的类重载了赋值运算符,如果某个类在构造函数中动态分配了内存,那么就需要为该类编写析构函数来释放内存,此时,拷贝构造函数和重载运算符=的函数需要程序员自己来重新编写,其目的是进行深拷贝,为新建对象或被复制对象再分配同样多内存。

 

○ 对象的替换与多态

 

○ 对象多态性

♣ 通过积累引用或对象指针,访问类中的任何对象,如果根据实际引用或指向的对象类型,来自动调用该类同名函数成员中的新增成员,则称该类族中的对象具有多态性。

一个赞破

 

○ 抽象类

将圆形类和长方形类抽象为形状类,但是形状类的函数无法直接定义

♣ 纯虚函数的语法形式是在其声明部分加上=0

 

〇 多继承

○ 多个基类之间的成员重名

双继承

重复继承

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值