摘要:
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 单独编译 可以将一个程序分为 阅读全文
摘要:
笔者在C++ PrimerPlus的学习过程中遇到了多个源文件编译运行的问题,由于笔者使用的是VSCode,软件本身并不支持多个源文件编译运行,可以通过一些方法来使VsCode支持多文件编译运行。笔者经研究发现,有三种方法:分别是基于g++命令、基于Cmakelist方法、以及最简单的安装工程插件法 阅读全文
摘要:
##1. 编写通常接受一个参数(字符串的地址),并打印该字符串的函数。然后,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串打印的次数不等于第二个参数的值,而等于函数被调用的次数)。是的,这是一个非常可笑的函数,但它让您能够使用本章介绍 阅读全文
摘要:
##8.1 C++内联函数 内联函数是在主函数中创建了一个函数副本,节约了函数调用时地址跳转回跳过程的时间,代价是占用的内存更多。 要使用内联函数,必须采用以下措施之一: 在函数声明前加关键字inline; 在函数定义前加关键字inline。 通常做法是省略原型,将整个定义放在本应提供原型的地方。 阅读全文
摘要:
##1. 编写一个程序,不断要求用户输入两个数,直到其中的一个为0。对于每两个数,程序将使用一个函数来计算他们的调和平均数,并将结果返回给main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下: 调和平均数 = 2.0 * x * y / (x + y) 本题首先编写计算调和 阅读全文