c++primer 17,18章之面向对象编程 读书笔记

博客围绕C++编程展开,介绍了将数据成员放于公共Query基类,可将其初始化和访问限制在基类。阐述了派生类对象组成,基类指针访问范围,虚拟成员函数调用解析过程,以及派生类对基类静态成员的引用情况。

通过把数据成员放到公共Query 基类中我们可以把对它的初始化和访问支持限制在局部区域中即基类中这是我们的选择。

派生类对象由其基类子对象以及由派生类的非静态数据成员构成的派生部分组成

基类指针只能访问在该类中被声明或继承的数据成员和成员函数包括虚拟成员函数而与它可能指向的实际对象无关把一个成员函数声明为虚拟的只推延了在程序执行期间根据pq 指向的实际类类型对于要调用的实例的解析过程

所有派生类对象都引用这个相同的单一的共享的静态成员不论从基类 派生了多少类_text_file 只存在一个实例如果愿意的话我们可以通过派生类对象用成员访问语法来访问它(基类的静态成员)

 

最后如果一个派生类希望直接访问其基类的私有成员则该基类必须显式地把派生类声明为一个友元friend

 

1.为了把一个或多个实参传递给成员类对象的构造函数我们通过成员初始化表来实现我们也可以用成员初始化表来初始化非类的数据成员

2.

为了向基类构造函数传递一个或多个参数我们也使用成员初始化表

 

 

构造函数的调用顺序总是如下:

1. 基类构造函数如果有多个基类则构造函数的调用顺序是某类在类派生表中出现的顺序而不是它们在成员初始化表中的顺序我们将在第18 章讨论多继承

2. 成员类对象构造函数如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序而不是它们出现在成员初始化表中的顺序

3. 派生类构造函数

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值