本周学习了多态性和部分的输入输出流。主要学了 1、静态多态包括运算符重载,函数重载。注意运算符重载的规则和一些限制,分为非成员函数实现和成员函数实现。 2、类型转换函数可以将本类函数对象转化为其他类对象,含有其他运算符如++、--的重载。 3、静态联编、动态联编(虚函数的定义和使用)。 4、纯虚函数 ...
分类:
其他好文 时间:
2018-12-21 22:48:05
阅读次数:
224
在讲原理之前,首先介绍静态联编和动态联编: 静态联编:再编译阶段确定程序执行的代码,比如普通的变量定义int a = 10,以及函数重载等 动态联编:在程序运行过程中确定程序执行的代码,比如条件判断语句 多态的原理: 当一个类具有虚函数时,编译器会自动为这个类在全局区中的常量区添加一个虚函数表,这个 ...
分类:
编程语言 时间:
2018-11-11 15:58:48
阅读次数:
127
多态:一种接口,多种方法(同一种调用方法,根据不同的对象,调用不同类中的函数)静态联编:非虚函数,在编译时确定好动态联编: 1. 对象里有指针,指向虚函数表 2. 通过指针,找到表,调用虚函数 3. 图二 4. virtual来定义为虚函数 (一)首先我们来看静态联编,非多态的程序 1 #inclu ...
分类:
编程语言 时间:
2018-09-24 18:29:04
阅读次数:
179
虚函数是类的成员函数,虚函数体现了运行时的多态性,编译时的多态性由函数重载和运算符重载等体现虚函数和函数重载都体现了多态性,但他们的表现形式不一样,函数重载调用根据参数的个数、参数的类型进行区分,而虚函数则是根据动态联编(运行时的多态性)来确定的。 输出:1 3 1.231 3 11.2311 13 ...
分类:
其他好文 时间:
2018-07-26 23:31:40
阅读次数:
183
body, table{font family: 微软雅黑; font size: 10pt} table{border collapse: collapse; border: solid gray; border width: 2px 0 2px 0;} th{border: 1px solid ...
分类:
编程语言 时间:
2018-07-25 10:26:04
阅读次数:
179
1. OOP强调的是在运行阶段(而不是编译阶段)进行决策,运行阶段指的是程序正在运行时,编译阶段指的是编译器将程序组合起来时。 2.变量的值都存储在栈中,而new从被称为堆或自由存储区的内存区域分配内存。 3.静态联编:是在编译时加入到程序中的。 动态联编:是在程序运行时创建的。 4.数组名被解释为 ...
分类:
编程语言 时间:
2018-05-30 21:16:22
阅读次数:
173
我们之前学习了函数重写,它便是在父类中被重写的函数依然会继承给子类,那么子类中重写的函数将覆盖父类中的函数,通过作用域分辨符(::)可以访问到父类中的函数。最后在全局函数中通过传递父类的指针,传递进去的是子类对象,竟然调用的不是子类中的成员函数。 下来我们就先来介绍一个概念,那便是 C++ 中的三大特性之一多态。我们在面向对象中期望的行为是:根据实际的对象类型来自动判断调用的重写函数。父类指针(引用)指向,如果是父类对象则调用父类中定义的函数,如果是子类对象则调用子类中定义的重写函数。 面向对象中的多态的概念:根据实际的对象类型决定函数调用的具体目标,同样的调用语句在实际运行时有多种不同的表现形态。
分类:
其他好文 时间:
2018-05-29 10:58:06
阅读次数:
144
联编的概念 联编是指一个计算机程序自身彼此关联的过程,在这个联编过程中,需要确定程序中的操作调用(函数调用)与执行该操作(函数)的代码段之间的映射关系。 意思就是这个函数的实现有多种,联编就是把调用和对应的实现进行映射的操作。按照联编进行的阶段不同,可分为静态联编和动态联编。 静态联编 静态联编工作 ...
分类:
编程语言 时间:
2018-02-11 22:38:46
阅读次数:
227
1) 2)静态联编 > 就是我在编译器能确定能执行的 没有任何变动的 就是静态编译 但是 相比较 有些 if,比如, 这个代码,在编译器 不能确定,因为 得取决于a和b的输入情况 才能决定 到底执行是if后面的 还是else后面的 然后 一个类外的函数 我的形参是 父类的指针或引用, 还是 动态联编 ...
分类:
其他好文 时间:
2018-01-12 19:39:51
阅读次数:
149
多态中动态联编特性 联编是指一个计算机程序的不同部分彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。 源代码中的函数调用解释为执行特定的函数代码被称为函数名联编(binding). 在编译过程中进行联编被称为静态联编(static binding),又称早期联 ...
分类:
其他好文 时间:
2017-11-24 22:55:28
阅读次数:
130