运算符重载 1. 运算符重载:使同一个运算符作用于不同类型的数据时导致不同的行为的这种机制被称为运算符重载。 2. 在c++中,除了以下5个运算符之外,其余运算符均可以被重载 成员选择运算符 . 成员指针运算符 .* 作用域分辨符 :: 三目选择运算符 ?: 计算数据所占内存空间的大小:sizeof ...
分类:
其他好文 时间:
2020-05-30 12:38:02
阅读次数:
51
函数重写回顾父类中被重写的函数依然会继承给子类子类中重写的函数将覆盖父类中的函数通过作用域分辨符(::)可以访问到父类中的函数Child c;Parent* p = &c; c.Parent::print(); //从父类中继承c.print(); //在子类中重写 p->print(); //父类 ...
分类:
其他好文 时间:
2019-12-01 11:53:55
阅读次数:
88
父子间冲突子类中是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么?同名成员变量 子类可以定义父类中的同名成员子类中的同名成员将隐藏父类中的同名成员父类中的同名成员依然存在于子类中通过作用域分辨符(::)访问父类中的同名成员 ...
分类:
其他好文 时间:
2019-11-28 22:51:36
阅读次数:
112
多态和重载 一:多态 1:定义:多态是指同样的消息被不同类型的对象接收时导致的不同行为。 消息是指对类的成员函数的调用。不同行为是指不同的实现,即调用了不同的函数。 2:多态的类型: 1:专用多态 : ? 1:重载多态 ? 2:强制多态 2:通用多态: ? 3:包含多态 ? 4:参数多态 3:多态的 ...
分类:
其他好文 时间:
2019-10-27 14:25:31
阅读次数:
91
第17课 - 继承与多态 - 上 引入: 如果子类定义了与父类中原型相同的函数会发生什么? 1. 函数重写 在子类中定义与父类中原型相同的函数,函数重写只发生在父类与子类之间。 父类中被重写的函数依然会继承给子类,默认情况下子类中重写的函数将隐藏父类中的函数,通过作用域分辨符::可以访问到父类中被隐 ...
分类:
编程语言 时间:
2019-08-11 21:32:05
阅读次数:
123
实验目的 1. 理解类的继承和派生机制 2. 掌握派生类的定义和使用 3. 理解和掌握派生类成员的标识和访问中同名覆盖原则、二元作用域分辨符和虚基类的用法 4. 掌握派生类构造函数和析构函数的定义及调用次序 5. 理解运算符重载的目的,掌握运算符重载函数的编写方法 实验内容 一、ElectricCa ...
分类:
编程语言 时间:
2019-05-22 00:12:22
阅读次数:
156
实验目的 1. 理解类的继承和派生机制 2. 掌握派生类的定义和使用 3. 理解和掌握派生类成员的标识和访问中同名覆盖原则、二元作用域分辨符和虚基类的用法 4. 掌握派生类构造函数和析构函数的定义及调用次序 5. 理解运算符重载的目的,掌握运算符重载函数的编写方法 实验准备 1. 类的继承和派生 引 ...
分类:
其他好文 时间:
2019-05-19 23:14:33
阅读次数:
164
成员变量的冲突: 当子类和父类出现同名成员时(同名覆盖): 子类成员将隐藏父类的成员,但是父类只是被隐藏,可以通过作用域分辨符( :: )访问父类的同名成员。 成员函数的冲突: 子类继承父类时同名函数是否是重载函数,作用域不同,只是函数同名覆盖。通过作用域分辨符( :: )访问父类同名函数。 子类可 ...
分类:
其他好文 时间:
2019-05-11 10:54:03
阅读次数:
144
多态 问题引出: 如果子类定义了与父类中原型相同的函数会发生什么?(赋值兼容性原则遇上函数重写) 函数重写: 在子类中定义与父类中原型相同的函数,函数重写只发生在父类与子类之间。 父类中被重写的函数依然会继承给子类 默认情况下子类中重写的函数将隐藏父类中的函数 通过作用域分辨符::可以访问到父类中被 ...
分类:
编程语言 时间:
2019-05-11 09:13:49
阅读次数:
133
思考: 同名成员变量: 图中的mi到底是子类的,还是从父类那里得到的? 父子间的冲突: 子类中的成员将隐藏父类中的同名成员,这叫同名覆盖。 是隐藏,是覆盖,而不是销毁,父类中的同名成员是依然存在的。我们通过作用域分辨符还是可以访问到的。 示例程序: 运行结果: 我们通过直接访问的方式访问的是子类中的 ...
分类:
其他好文 时间:
2018-09-02 21:49:15
阅读次数:
202