Skip to Content
Course cluster

Advanced Programming

A preserved cluster of undergraduate notes grouped by subject area.

9 notes

01

Data Abstraction

2019-02-12

面向对象程序设计 面向对象的观点:自然界是由一组彼此相关并能相互通信的实体(对象)所组成 面向对象的程序设计方法:使用面向对象的观点来描述现实问题,然后用计算机语言来模仿并处理该问题 消息:调用对象的操作 类:对象的特征 基本的程序设计手段 抽象:复杂度控制 过程抽象 数据抽象:使用者只需知道对数据所能实施的操作以及这些操作之间的关系,而不必知道数据的具体表...

02

Operation Overloading

2019-02-12

操作符重载 只能重载 C++语言中已有的操作符 不可臆造新的操作符 不能改变操作数个数 不改变原操作符的优先级和结合性 可以重载 C++中除下列操作符外的所有操作符:. . ?: :: sizeof 重载方法 类的非静态成员函数 全局函数 特殊操作符的重载 ++ = 隐式赋值操作符重载函数:逐个成员进行赋值操作 普通成员:赋值 成员对象:调用成员对象赋值操作...

03

Inheritance

2019-02-12

单继承 继承关系中存在两个类:基类(或称父类)和派生类(或称子类) 派生类拥有基类所有成员,并可以 定义新的成员 对基类的一些成员函数重定义 class <派生类名 : [<继承方式 ] <基类名 派生类不会继承基类的构造函数、赋值操作符重载函数、析构函数 定义派生类时一定要见到基类的定义 友元性不继承:如果在派生类中没有显式说明,基类的友元不是派生类的友元...

04

Template

2019-02-13

泛型(类属) 类属:一个程序实体能对多种数据进行操作或描述的特性 参数化多态(类属):一段带有类型作为参数的代码,给其提供不同的类型值就能得到多个不同的代码 泛型程序设计(类属程序设计 Generic Programming):一段带有类型作为参数的代码,给其提供不同的类型值就能得到多个不同的代码 类属函数 采用通用指针类型的参数 函数模板 定义了一系列重载...

05

I/O

2019-02-13

I/O 输入输出基于字节流 过程式:printf, scanf 不是强类型,不利于类型检查,会导致类型相关的运行错误 当格式串描述与数据不一致时会导致运行时刻的错误 面向对象:cout, cin, <<, ios istream 控制台输入 ifstream 文件输入 istrstream 字符串输入 ostream ofstream ostrstream...

06

Exception

2019-02-13

异常概述 语法错误:程序书写不符合语法规则,编译程序发现 逻辑错误:程序设计不当造成程序没有完成预期的功能,静态分析和同态测试发现 运行异常:程序设计对程序运行环境考虑不周而造成的程序运行错误 异常处理 就地处理 abort: 立即终止程序的执行,不作任何的善后处理工作 exit: 关闭被程序打开的文件、调用全局对象和 static 存储类的局部对象的析构函...

07

Windows

2019-02-13

Windows 简介 Windows: 基于图形界面的多任务操作系统 多任务:同时运行多个应用程序 窗口:应用程序通过窗口与用户交互 输入:鼠标单击/双击/拖放,菜单选择,键盘输入 Windows 功能 工具:资源管理器,记事本,画图 ... 函数库:作为 Windows 应用程序接口(API)提供 windows.h 应用程序类型 单文档应用 只能对一个文...

08

Qt

2019-02-13

桌面应用开发框架 Windows C++: Qt, MFC, WTL, wxWidgets, DirectUI, Htmlayout C#: WinForm, WPF Java: AWT, Swing Python: Tkinter, wxpython, PyQt, PythonWin Pascal: Delphi aardio Visual Basic L...

09

Java

2018-09-06

示例代码 <! more Java 1.2 语法基础 基本类型 包装器 BigInteger, BigDecimal 对象储存在堆中 基本类型储存在栈中 包装器对象无法改变 (java5) 自动装包/拆包 array 可在运行中确定大小 .java 文件中的每个类,它们都有一个 .class 扩展名 构造函数 this() super() finalize(...