摘要: 思考问题:子类是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么? 实验 新的知识点: 子类可以定义父类中的同名成员 子类中的成员将隐藏父类中的同名成员 父类中的同名成员依然存在于子类中 通过作用域分辨符(::)访问父类中的同名成员 访问父类中的同名成员 Child c; c.mi 阅读全文
posted @ 2020-01-31 12:20 认真做个普通人 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 思考问题:如何初始化父类成员?父类构造函数和子类构造函数有什么关系呢? 子类对象的构造 子类中可方式以定义构造函数 子类构造函数必须对继承而来的成员进行初始化: 1)直接通过初始化列表或者赋值的方式进行初始化 2)调用父类构造函数进行初始化 父类构造函数在子类中的调用方式 默认调用:适用于无参构造函 阅读全文
posted @ 2020-01-30 16:47 认真做个普通人 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 被忽视的细节 冒号(:)表示继承关系,Parent表示被继承的类,public的意义是什么? class Parent { }; class Child :public Parent { }; 有趣的问题:是否可以将继承中的public换成protected或者private?如果可以,与publi 阅读全文
posted @ 2020-01-30 14:04 认真做个普通人 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 问题:子类是否可以直接访问父类的私有成员(private)? 问题的思考过程: 根据面向对象理论:子类拥有父类的一切属性和行为 》子类能够直接访问父类的私有成员! 根据C++语法:外界不能直接访问类的private成员 》子类不能直接访问父类的私有成员! 实验 1 #include <iostrea 阅读全文
posted @ 2020-01-29 20:19 认真做个普通人 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 类和类之间的关联关系 组合关系:整体与部分的关系 继承关系(父子关系) 组合关系的特点 将其它类的对象作为类的成员使用 当前类的对象与成员对象的生命期相同 成员对象在用法上与普通对象完全一致 面向对象中的继承指类之间的父子关系 子类拥有父类的所有属性和行为 子类就是一种特殊的父类 子类对象可以当作父 阅读全文
posted @ 2020-01-29 16:36 认真做个普通人 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 论类型转换 标准数据类型之间会进行隐式的类型安全转换 转换规则如下所示: char >int ==>unsigned int ==>long ==>unsigned long ==>float ==>double || || V || short 例: 1 // 类型转换函数.cpp : 此文件包含 阅读全文
posted @ 2020-01-28 21:10 认真做个普通人 阅读(411) 评论(0) 推荐(0) 编辑
摘要: main.cpp 1 #include <stdio.h> 2 #include "Complex.h" 3 int main() 4 { 5 complex c1(1,2); 6 complex c2(3,4); 7 complex c3 = c2 / c1; 8 complex c4(0, 0) 阅读全文
posted @ 2020-01-27 23:46 认真做个普通人 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 在下面的代码有没有区别?为什么呢? i++; //i的值作为返回值,i自增1 ++i; //i自增1,i的值作为返回值 观察反汇编文件,我们会发现一个问题:对于有些普通类型的变量的前置操作符和后置操作符的反汇编文件是一模一样的,由此可知,编译器对其进行了优化! 现代编译器产品会对代码进行优化 优化使 阅读全文
posted @ 2020-01-27 23:27 认真做个普通人 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 重载逗号表达式的注意点 首先复习一下逗号表达式 逗号操作符(,)可以构成逗号表达式 逗号表达式用于将多个子表达式连接为一个表达式 逗号表达式的值为最后一个子表达式的值 逗号表达式中的前N-1个子表达式可以没有返回值 逗号表达式按照从左向右的顺序计算每个子表达式的值 exp1,exp2,exp3,.. 阅读全文
posted @ 2020-01-27 16:50 认真做个普通人 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 逻辑运算符的原生语义 操作数只有两种值(true和false) 逻辑表达式不用完全计算就能确定最终值 最终结果只能是true或者false 那么,如果我们重载逻辑运算符会发生什么? 例: 1 #include <iostream> 2 #include <string> 3 using namesp 阅读全文
posted @ 2020-01-27 11:31 认真做个普通人 阅读(126) 评论(0) 推荐(0) 编辑