C++ 数据抽象
数据抽象指的是,隐藏对象的具体实现,只暴露必要的接口。 数据抽象是一种依赖于接口和实现分离的编程(设计)技术。 用类封装数据和接口 #include <iostream> using namespace std; class BankAccount { private: string owner; // 账户持有人 —— 内部实现,外部不可直接访问 ...
数据抽象指的是,隐藏对象的具体实现,只暴露必要的接口。 数据抽象是一种依赖于接口和实现分离的编程(设计)技术。 用类封装数据和接口 #include <iostream> using namespace std; class BankAccount { private: string owner; // 账户持有人 —— 内部实现,外部不可直接访问 ...
多态(Polymorphism)就是同一操作作用于不同对象,可以产生不同的行为。 主要分为: 编译时多态(静态多态) 函数重载 运算符重载 模板(泛型编程) 在编译阶段就确定调用哪个函数。 运行时...
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。 函数重载...
当创建一个类时,可以不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。 基类&派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。 定义一个派生类,我们使用一个类派生列表来指定基类。类派生列表以一个或多个基类命名,形式如下: class derived-class: access...
类定义 定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。 类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。 class Box { public: double length; // Length of a box double breadth; // Breadth...
C++引用 引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。 C++创建引用 #include <iostream> using namespace std; int main (){ // 声明简单的变量 int i; double d; //...
C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。 结构体tm struct tm { int tm_sec; // 秒,正常范围从 0 到 59,但允许至 61 int tm_min; // 分,范围从 0 到 59 int tm_hour; //...
C++字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 引用 #include <iostream> #include <string> 基本语法 声明字符串变量 std::string str; 初始化字符串 std::string str = "Hello ...
C++ 标准库中的 <random> 头文件提供了一组用于生成随机数的工具,涵盖了从简单的均匀分布到复杂的离散分布,为需要随机数的应用程序提供了广泛的选择。 介绍 <random> 库由以下三个主要组件构成: 随机数引擎:生成伪随机数的核心,用于控制生成过程的可重复性和随机性。 随机数分布:控制生成的数值遵循的概率分布类型。 随机数适配器:允许调整...
C 库函数 int rand(void) 返回一个范围在 0 到 RAND_MAX 之间的伪随机数。 RAND_MAX 是一个常量,它的默认值在不同的实现中会有所不同,但是值至少是 32767。 声明 #include <stdlib.h> int rand(void); 返回值 返回一个范围在 到 RAND_MAX` 之间的整数值 使用示例 #include ...