
C++ Primer Plus
zl吉姆餐厅
这个作者很懒,什么都没留下…
展开
-
对象和类
const成员函数void show()const;land.show();show()是land对象的成员函数。const限定符表示不会修改对象的属性。this指针this指向被调用对象本身,是对象的地址。*this是对象的值。友元函数可以访问类私有属性的非成员函数...原创 2020-08-12 11:28:32 · 134 阅读 · 0 评论 -
第9章 内存模型与名称空间习题
a. 自动变量b.应该在一个文件中将secret定义为外部变量,并在第二个文件中使用extern来声明它。c.可以在外部定义前加上关键字static,将topsecret定义为一个有内部链接的静态变量,也可在一个未命名的名称空间中进行定义。d.应在函数中的声明前加上关键字static,将beencalled定义为一个本地静态变量。using 声明:using 名称空间名 :: 名称 例如:using Jill:: fetch;//这是一个using 声明。using 编译指令:usin...原创 2020-08-09 17:18:41 · 116 阅读 · 0 评论 -
内存模型和名称空间
引入头文件include <coordin.h>include "coordin.h"尖括号:在标准头文件中查找双引号:先在当前g先在当前工作目录查找;找不到,则去查找标准头文件几种变量存储方式自动变量int x;在程序开始执行所属的函数和代码块时创建;在执行完函数和代码快时被释放。寄存器变量register int x;变量存储在寄存器中,因此不能通过地址来访问静态变量int global = 1000;//静态变量,外部链接性static原创 2020-08-09 16:44:30 · 123 阅读 · 0 评论 -
函数
内联函数inline double square(double x) { return x*x; }在函数定义/声明前加上inline。引用变量创建引用变量int a;int & b = a;a和b指向相同的指和内存单元。int a = 1;int & b = a;//引用int *c = a;//指针引用与指针的相同点:都可以通过b和*c来访问和修改变量引用与指针的不同点:引用必须在声明时就初始化,而指针可以先声明再赋值在引用初始化后,就与改变量关联起原创 2020-07-22 17:07:51 · 177 阅读 · 0 评论 -
第12章 类和内存动态分配复习题
1a没有为str,len制定默认值bstr指向s,可能存在二次释放的问题;len 应该为strlen(s) + 1c没有为str分配内存,应使用new char[strlen(s) + 1]来分配2析构函数里没有将指针成员释放复制和赋值时,直接使用浅复制,导致内存二次释放构造函数和析构函数中new和delete不对应。3默认构造函数、析构函数、拷贝(复制)构造函数、赋值函数...原创 2020-03-04 12:27:11 · 176 阅读 · 0 评论 -
第十一章 使用类复习题
Stonewt Stonewt::*(double n){ Stonewt temp; temp.stone = stone * a +pound * a / 14; temp.pounds = (pound * a) % 14; return temp;}友元函数:①函数原型需要使用friend;②调用的对象一般是非类对象;③在运算符重载函数里,有两个参数,并且往往一...原创 2020-02-27 15:30:59 · 147 阅读 · 0 评论 -
第十章 对象和类复习题
就是拥有相等功能和相同的属性的对象的集合2.类是对象的抽象,通过将属性与方法封装在一个类中,且设置访问权限,对外只提供部分接口来实现封装与隐藏。3.类是对象的抽象,而对象是类的具体实例。4.函数成员对数据成员进行操作,数据成员就是类对象的属性5.class account{private: string name; string id; doubl...原创 2020-02-24 16:10:46 · 180 阅读 · 0 评论 -
第八章 函数探幽编程题
1#include <iostream>void p(char *str, int &n);int main(){ using namespace std; char str[20]; int n; cout << "Enter a string: \n"; cin >> str; cout &l...原创 2020-02-10 20:10:17 · 139 阅读 · 0 评论 -
第8章 函数探幽复习题
1使用高度频繁,而且操作内容简单的情况下,用inline函数。这是C++为了取代宏定义而设置的函数2avoid song(char *name, int times = 1);b无需修改## c```cppvoid song(const char *name = "O.My Papa",int times);3void iquote(int a){cout<&...原创 2020-02-08 16:43:23 · 134 阅读 · 0 评论 -
第七章 函数编程题
1#include <iostream>double average(double, double);int main() { using namespace std; double n, m; cout << "Enter two numer: "; cin >> n >> m; while (n !=...原创 2020-02-07 14:36:52 · 237 阅读 · 0 评论 -
第六章函数复习题
1声明 定义 调用2avoid igor();bfloat tofu(int);cdouble mpg(double ,dounble );dlong summation(long ch[], int n);edouble ofcourse(const string);3void set(int ch[], int len, int n){ for ...原创 2020-02-06 16:28:10 · 204 阅读 · 0 评论 -
第六章 分支语句和逻辑操作符编程题
1#include <iostream>#include <cctype>int main(){ using namespace std; char ch; while ((ch = cin.get()) != '@') { if (isupper(ch)) cout << (cha...原创 2020-02-04 14:38:09 · 154 阅读 · 0 评论 -
第六章分支语句和逻辑操作符复习题
1这两个版本将给出相同的答案,但是if else版本的效率更高。例如,考虑当ch为空格时的情况。版本1对空格+1,然后看它是否为换行符。这将浪费时间,因为程序已经知道ch为空格,因此它不是换行符。这种情况下,版本2将不会查看字符是否为换行符。2++ch和ch++得到的数值相同。但是++ch的类型为char,将作为字符打印,而ch+1是int类型(因为将char和int相加),将作为数字打印...原创 2020-02-03 15:49:52 · 94 阅读 · 0 评论 -
第六章 分支语句和逻辑操作符
一、字符函数库cctype函数名称返回值isalnum()参数是字母或数字,函数返回trueisalpha()参数是字母,函数返回trueisblank()参数是字母或水平制表符,函数返回trueiscntrl()参数是控制字符,函数返回trueisdigit()参数是数字(0-9),函数返回trueisgraph()参数是除空格以外...原创 2020-02-03 14:45:59 · 91 阅读 · 0 评论 -
第五章 循环和关系表达式编程题
1.#include <iostream>int min(){ using namespace std; int x, y; cout << "Enter two numbers: \n"; cin >>x; cin >>y; int sum = 0; for(int i = x; i ...原创 2020-02-01 16:28:27 · 129 阅读 · 0 评论 -
第五章 循环于关系表达式复习题
1.输入条件循环在进入输入循环体之前将评估测试表达式。如果条件最初为false,则循环不会执行其循环体。退出条件循环在处理循环体之后评估测试表达式。因此,即使测试表达式最初为false,循环也将执行一次。for和while循环都是输入条件循环,而do while循环是退出条件循环。2.012343.0369124.685.k = 86.for (int i = 1...原创 2020-01-31 16:08:36 · 170 阅读 · 0 评论 -
第五章 循环和关系表达式
一、递增 (++) 递减(–)1.何时生效副作用:在计算表达式时,对变量进行修改顺序点:在程序执行过程中的一个点,在这里,进行下一步之前将确保对所有的副作用进行了评估。(;以及完整表达式)e1while ( i++ <10 ) printf("%d \n", i);i++ <10是一个完整表达式,副作用在printf()之前完成。i 同10比较后,加1.e2y = ...原创 2020-01-31 13:16:29 · 130 阅读 · 0 评论 -
第四章 复合类型复习题
第四章 复合类型复习题1.achar actor[30];bshort betsie[100];cfloat chuck[13];dlong double dipsea[64];2.int num[5] = {1, 3, 5, 7, 9};3.int even = num[0] + num[4];4.cout << ideas[1];5.c...原创 2020-01-29 21:14:56 · 195 阅读 · 0 评论 -
第四章 复合类型
第四章 复合类型字符串读取一行字符getline():读取整行,遇到换行符,输入结束。(不保留换行符)第一个参数:存储输入的数组名称第二个参数:要读取的字符数get():读取整行,遇到换行符,输入结束。(保留换行符)第一个参数:存储输入的数组名称第二个参数:要读取的字符数cin.get(nam, Arsize);cin.get();//读取第一行的换行符cin.getline...原创 2020-01-29 18:25:37 · 198 阅读 · 1 评论