面向对象设计主要特征是程序=对象+消息,对象是基本元素,对象接收到消息后,启动有关方法完成操作。 面向对象程序设计的基本特征有:抽象、封装、继承和多态。 c++支持编译时的多态和运行时的多态,编译时的多态通过函数重载实现,运行时的多态通过虚函数实现。 c++通过对c进行扩充,是面向过程程序设计和面向 ...
分类:
编程语言 时间:
2019-01-01 23:57:26
阅读次数:
324
Godot中的许多动作是由回调函数或虚函数触发,所以不需要编写那些总是运行的代码。 但是,在每一帧上都需要处理脚本仍然很常见。有两种类型的处理:空闲处理和物理处理。 当 Node._process() 方法在函数中被定义时,处理流程就会被激活.。可以通过 Node.set_process() 函数来 ...
分类:
其他好文 时间:
2018-12-30 17:24:28
阅读次数:
182
继承与多态 引用有的时候并不能达到多态的效果 问题:c++ primer 第五版说,只有指针和引用调用虚函数时才会发生动态绑定(多态)。实践一下,发现引用有的时候不能发生多态绑定(多态)。 下面的例子,父类是Quote,在Quote里定义了一个虚函数debug,用来打印出各自成员的值。2个子类Bul ...
分类:
编程语言 时间:
2018-12-30 02:54:36
阅读次数:
172
```c++ // / 任何时候都不要在构造函数或析构函数中调用虚函数 / class dog { public: string m_name; dog(string name) {m_name = name; bark();} virtual void bark() { cout ...
分类:
编程语言 时间:
2018-12-23 20:47:08
阅读次数:
203
抽象: 抽:抽取、抽离、分离; 象:表述、表达; 软件的抽象: 数据的抽象:属性,对象、继承; 行为的抽象:接口、虚函数; 抽象就是将复杂物体的一个或几个特性抽出去,而只注意其他特性的行动或过程(如头脑只思考树本身的形状或只考虑树叶的颜色,不受它们的大小和形状的限制)。 具体来说,抽象是指: 1、将 ...
分类:
其他好文 时间:
2018-12-22 01:20:30
阅读次数:
234
本周学习了多态性和部分的输入输出流。主要学了 1、静态多态包括运算符重载,函数重载。注意运算符重载的规则和一些限制,分为非成员函数实现和成员函数实现。 2、类型转换函数可以将本类函数对象转化为其他类对象,含有其他运算符如++、--的重载。 3、静态联编、动态联编(虚函数的定义和使用)。 4、纯虚函数 ...
分类:
其他好文 时间:
2018-12-21 22:48:05
阅读次数:
224
final: final修饰符可用于修饰类,放在类名后面,被final修饰符修饰的类不能被继承。示例代码: final修饰符还可用于修饰类中的成员函数,但是成员函数必须是虚函数,被final修饰符修饰的虚函数在子类中不可以被重写。示例代码如下: override: 在C++11之前,在父类中用vir ...
分类:
编程语言 时间:
2018-12-18 02:01:48
阅读次数:
234
1)定义Student类,用string型变量name存储学生姓名,用int型变量age存储学生年龄。Student类实现IComparable接口。要求从键盘输入学生的姓名和年龄,并注意可能出现的异常及其处理。IComparable接口定义如下(系统已定义,可直接使用) interface ICo ...
DUILIB消息处理机制 方法一、 首先窗口基类创建 CWindowWnd->Create() 调用 CWindowWnd->RegisterWindowClass() 注册 CWindowWnd->__WndProc() 为本界面窗口消息处理函数 __WndProc()调用 虚函数 CWindow ...
分类:
其他好文 时间:
2018-12-17 19:00:55
阅读次数:
231
定义一个基类的指针p,在delete p时,如果基类的析构函数是虚函数,这时只会看p所赋值的对象,如果p赋值的对象是派生类的对象,就会调用派生类的析构函数(毫无疑问,在这之前也会先调用基类的构造函数,在调用派生类的构造函数,然后调用派生类的析构函数,基类的析构函数,所谓先构造的后释放);如果p赋值的 ...
分类:
其他好文 时间:
2018-12-17 02:27:03
阅读次数:
157