随笔分类 - C++ Primer Plus(第六版)
学习C++ Primer Plus(第六版)的经过
摘要:历时一个多月,终于把C++PrimerPlus学完了,收获挺多,本书的编程练习答案汇总如下,第二章的的没有写,比较简单,中间有写的不正确的地方,欢迎各位老铁指正。 第三章:https://www.cnblogs.com/Fight-go/p/15815795.html 第四章:https://www
阅读全文
摘要:###1. 编写一个小程序,要求用户使用一个整数指出自己的身高(单位为英寸),然后将身高转换为英尺和英寸,该程序使用下划线字符来指示输入位置。另外,使用一个const符号常量来表示转换因子。 本题要求输入转换为不同的格式,实质上考查的是求模和求商。 这里要求使用下滑线指示输入位置,需要使用'\b'使
阅读全文
摘要:###1.下面是一个简短程序的一部分: int main() { using namespace std; // list of double deduced from list contents auto q = average_list({15.4, 10.7, 9.0}); cout << q
阅读全文
摘要:###1. 编写一个程序计算输入第一个流在留在输入流中。 本题不算难,考查的是peek()方法,即使用peek()查看输入流中的字符而不抽取,注意循环里面应该采用cin.get()与而是cin>>ch,因为cin>>ch会跳过空格,导致程序错误(Ps:笔者遇到的错误)。循环结
阅读全文
摘要:本章内容包括: C++角度的输入和输出 iostream类系列 重定向 ostream类方法 格式化输出 istream类方法 流状态 文件IO 使用ifstream类从文件输入 使用ofstream类输出到文件 使用fstream类进行文件输入和输出 命令行处理 二进制文件 随机文件访问 内核格式
阅读全文
摘要:本章内容包括: 标准C++string类 标准auto_ptr、unique_ptr和shared_ptr 标准模板库STL 容器类 迭代器 函数对象 STL算法 模板initializer_list ##16.1 string类 要使用类,关键在于知道它的公有接口。 ###16.1 构造字符串 构
阅读全文
摘要:###1.回文指的是顺读和逆读都一样的字符串。例如,“tot”和“otto”都是简单的回文。编写一个程序,让用于输入字符串,并将字符串引用传递给一个bool函数。如果字符串是回文,该函数将返回true,否则返回false。此时不要担心诸如大小写、空格和标点符号这些复杂的问题。即这个简单的版本将拒绝“
阅读全文
摘要:###1. 对Tv和Remote类做如下修改: 让他们互相称为友元; 在Remote类中添加一个状态变量成员,该成员描述遥控器是否处于常规模式还是互动模式; 在Remote类中添加一个显式模式的方法 在Tv类中添加一个对Remote中新成员进行切换的方法,该方法今在Tv处于打开状态时才能运行。编写一
阅读全文
摘要:本章内容包括: 友元类 友元类方法 嵌套类 引发异常、try块和catch块 异常类 运行阶段类型识别(RTTI) dynamic_cast和typeid static_cast、 const_cast、和reiterpret_cast ##15.1 友元 ###15.1.1 友元类 友元类表示一种
阅读全文
摘要:本章内容包括: has-a关系 包含对象成员的类 模板类 valarray 私有和保护继承 多重继承 虚基类 创建类模板 使用类模板 模板的具体化 C++的主要目标是促进代码重用。公有继承是实现这种目标的机制之一,但不是唯一的机制。使用类成员称为包含、组合或层次化。另一种方法是使用私有或保护继承。
阅读全文
摘要:##1.以下面的类声明为基础: // base class class Cd { // repersents a CD disk private: char performers[50]; char label[20]; int selections; // number of selections
阅读全文
摘要:本章内容: is-a关系的继承 如何以公有方式从一个类派生出另一个类 保护访问 构造函数成员初始化列表 向上和向下强制转换 虚成员函数 早期(静态)联编与晚期(动态)联编 抽象基类 纯虚函数 何时即如何使用公有继承 为了提高代码的重用性,C++提供了类继承来拓展和修改类。通过继承可以完成的一些工作如
阅读全文
摘要:##1. 对于下面的类声明: class Cow { char name[20]; char * hobby; double weight; public: Cow(); Cow(const char * nm, const char * ho, double wt); Cow(const Cow
阅读全文
摘要:本章内容包括: 对类成员使用动态内存分配 隐式和显式复制构造函数 隐式和显式重载赋值运算符 在构造函数中使用new所必须完成的工作 使用静态类成员 将定位new运算符用于对象 使用指向对象的指针 实现队列抽象数据类型(ADT) ##12.1 动态内存和类 ###12.1.1 复习示例和静态类成员 类
阅读全文
摘要:1. 修改程序清单11.5,使之将一系列连续的随机漫步者位置写入到文件中。对于每个位置,用步号进行标示。另外,让该程序将初始条件(目标距离和步长)以及结果小结写入到该文件中。该文件的内容与下面类似: Target Distance: 100, Step Size: 20 0: (x,y) = (0,
阅读全文
摘要:本章内容包括: 运算符重载 友元函数 重载<<运算符,以便用于输出 状态成员 使用rand()生成随机值 类的自动转换和强制类型转换 类转换函数 ##11.1 运算符重载 运算符重载时一种形式的C多态。 为了实现运算符重载,需要使用被称为运算符函数的特殊函数形式。运算符函数的格式如下: operat
阅读全文
摘要:1. 为复习题5描述的类提供方法定义,并编写一个小程序来演示所有的特性。 本题考查的是类的声明定义以及简单的使用,没有什么难度,样例代码如下: // account.h -- class defination for Account #ifndef ACCOUNT_H_ #define ACCOUN
阅读全文
摘要:本章内容包括: 过程性编程和面向对象编程 类概念 如何定义和实现类 公有类访问和私有类访问 类的数据成员 类方法(类函数成员) 创建和使用类对象 类的构造函数和析构函数 const成员函数 this指针 创建对象数组 类作用域 抽象数据类型 面向对象编程(OOP)是一种特殊的设计程序的概念性方法,其
阅读全文
摘要:##1. 下面是一个头文件: // golf.h -- for ex1.cpp const int Len = 40; struct golf { char fullname[Len]; int handicap; }; // non-interactive version // function
阅读全文
摘要:本章内容: - 单独编译 - 存储持续性、作用域和链接性 - 定位(placement)new运算符 - 名称空间 C++为在内存中存储数据方面提供了多种选择。可以选择数据保留在内存中的时间长度(存储连续性)以及程序的哪一部分可以访问数据(作用域和链接)等。 ##9.1 单独编译 可以将一个程序分为
阅读全文