随笔分类 -  C++

摘要:条款可以改为——宁可以编译器替换预处理器,因为 #define 可能不被视为语言的一部分 #define ASPECT_RATIO 1.653 解决之道是以一个常量替换宏(#define) const double AspectRatio = 1.653; 作为语言常量,AspecetRatio 肯 阅读全文
posted @ 2018-11-25 14:51 KidyCharon 阅读(185) 评论(0) 推荐(0)
摘要:C++ 是个多重泛型编程语言,一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。 将 C++ 视为一个由相关语言组成的联邦而非单一语言,在其某 阅读全文
posted @ 2018-11-25 10:53 KidyCharon 阅读(119) 评论(0) 推荐(0)
摘要:C++中的代码重用 本章内容包括: Has-a关系 包含对象成员的类 模板类valarray 私有和保护继承 多重继承 虚基类 创建类模板 使用类模板 模板的具体化 C++ 的一个主要目标是促进代码重用,公有继承是实现这种目标的机制之一,但并不是唯一的机制,本章介绍其他方法: 1. 使用类成员:本身 阅读全文
posted @ 2018-11-21 21:53 KidyCharon 阅读(255) 评论(0) 推荐(0)
摘要:string 和标准模板库 本章内容包括: 标准C++ string类 模板 auto_ptr、unique_ptr 和 shared_ptr 标准模板库(STL) 容器类 迭代器 函数对象 STL算法 模板 initializer_list 16.1 string 类 string 类由头文件 s 阅读全文
posted @ 2018-11-14 16:12 KidyCharon 阅读(478) 评论(0) 推荐(0)
摘要:类继承 本章内容: is-a 关系的继承; 如何以公有方式从一个类派生出另一个类; 保护访问; 构造函数成员初始化列表; 向上和向下强制转换; 虚成员函数; 早期(静态)联编与晚期(动态)联编; 抽象基类; 纯虚函数; 何时及如何使用公有继承 面向对象编程的主要目的之一是提供可重用的代码; C++类 阅读全文
posted @ 2018-10-30 18:42 KidyCharon 阅读(599) 评论(0) 推荐(0)
摘要:类和动态内存分配 本章内容包括: 对类成员使用动态内存分配 隐式和显示复制构造函数 隐式和显示重载赋值运算符 在构造函数中使用 new 所必须完成的工作 使用静态类成员 将定位 new 运算符用于对象 使用指向对象的指针 实现队列抽象数据类型(ADT) 12.1 动态内存和类 C++ 让程序在运行时 阅读全文
posted @ 2018-10-29 20:05 KidyCharon 阅读(641) 评论(0) 推荐(0)
摘要:使用类 11.1 操作符重载 C++ 允许将操作符重载扩展到用户定义的类型,例如,允许用 + 将两个对象相加; 操作符函数: operator op (argument - list) // op 是将要重载的操作符 eg: operator *() 重载 * 操作符 // op 必须是有效的C++ 阅读全文
posted @ 2018-10-26 09:05 KidyCharon 阅读(263) 评论(0) 推荐(0)
摘要:对象和类 OOP特性: 1. 抽象 2. 封装和数据隐藏 3. 多态 4. 继承 5. 代码的可重用性 10.1 过程性编程和面向对象编程 采用OOP方法时: 1. 描述对象所需的数据以描述用户与数据交互所需的操作; 2. 确定如何实现接口和数据存储 10.2 抽象和类 抽象: 类表示人们可以用类方 阅读全文
posted @ 2018-10-04 18:49 KidyCharon 阅读(376) 评论(0) 推荐(0)
摘要:C++ 为在内存中存储数据方面提供了多种选择,可以选择数据保留在内存中的时间长度(存储持续性)以及程序在哪一部分可以访问数据(作用域和链接); C++ 名称空间是另一种控制访问权的方式; 通常,大型程序都由多个源代码文件组成,这些文件可能共享一些数据 阅读全文
posted @ 2018-10-02 08:09 KidyCharon 阅读(532) 评论(0) 推荐(0)
摘要:C++还提供了许多新的函数特性,使之有别于C语言,新特性包括内联函数、按引用传递变量、默认的参数值、函数重载(多态)以模板函数。 阅读全文
posted @ 2018-09-28 21:04 KidyCharon 阅读(398) 评论(0) 推荐(0)
摘要:复习函数基本知识: 要使用C++函数,要完成工作: 1. 提供函数基本知识; 2. 提供函数原型; 3. 调用函数 库函数是已经定义和编译好的函数,同时可以使用标准库头文件提供其原型 eg:标准头文件 cstring 中包含了 strlen() 和其它一些字符串相关的函数原型 函数原型和函数调用: 阅读全文
posted @ 2018-09-24 14:23 KidyCharon 阅读(381) 评论(0) 推荐(0)
摘要:if语句: if ( test_condition ) statement 逻辑表达式: C++提供了3种逻辑操作符,来组合或修改已有的表达式: 逻辑OR ( || )、逻辑AND ( && )、逻辑NOT ( ! ) 逻辑OR操作符:|| 表达式中任何一个或全部都为true(或非零),得到表达式值 阅读全文
posted @ 2018-09-21 14:06 KidyCharon 阅读(329) 评论(0) 推荐(0)
摘要:for循环的组成部分: 1. 设置初始值。 2. 执行测试,看看循环是否应当继续进行。 3. 执行循环操作。 4. 更新用于测试的值。 表达式和语句: 表达式:任何值和任何有效的值和操作符的组合都是表达式。每个C++表达式都有值。 语句:所有表达式加上分号,都可以成为语句。有的没有意义。 副作用和顺 阅读全文
posted @ 2018-09-19 19:47 KidyCharon 阅读(244) 评论(0) 推荐(0)
摘要:数组: 初始化: typeName arrayName[arraySize]; arraySize 必须是整型常量或者const值; 必须是特定类型的数组: int数组、char数组、float数组; 只对数组一部分进行初始化,编译器把其他元素设置为0; C++标准模板库(STL)一种数组替代品 模 阅读全文
posted @ 2018-09-15 20:26 KidyCharon 阅读(290) 评论(0) 推荐(0)
摘要:C++基本整型: bits per byte = 8; 整型小到大: bool、char、signed char、unsigned char、short、unsigned short、int、unsigned int、long、unsigned long; 如果变量表示的值不可能为负,则可以使用无符 阅读全文
posted @ 2018-09-12 15:51 KidyCharon 阅读(212) 评论(0) 推荐(0)
摘要:保持输出窗口打开: 添加一行代码cin.get(); 函数头: 函数头描述了函数与调用它的函数的接口。 eg:int main() 函数名前面的部分 函数返回类型; 函数名后括号中的部分 形参列表 描述从调用函数传递给被调用函数的信息 #include<iostream>: io: 输入输出; #i 阅读全文
posted @ 2018-09-10 20:18 KidyCharon 阅读(191) 评论(0) 推荐(0)
摘要:面向过程 首先确定编程计算机应采取的操作,然后使用编程语言来实现这些操作。(使问题满足语言) 面向对象 设计与问题的本质特性相对应的数据格式--类,对象是根据这种规范构造的特定数据结构。(使语言满足问题) 对象是类的特定实例,而类定义了数据的存储和使用方式 阅读全文
posted @ 2018-09-10 08:38 KidyCharon 阅读(160) 评论(0) 推荐(0)