
c++ primer plus
Smilingmm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++ primer plus 第六版第十四章编程练习
14.1 //Wine.h #include<iostream> #include<string> #include<valarray> #include<utility> typedef std::valarray<int> ArrayInt; typedef std::pair<ArrayInt, ArrayInt>...原创 2018-12-17 19:23:51 · 463 阅读 · 0 评论 -
c++ primer plus 第六版第十一章编程练习答案
11.1 //vector.h #ifndef VECTOR_H #define VECTOR_H #include<iostream> namespace VECTOR { class vector { public: enum Mode { RECT,POL }; vector(); vector(double n1, double n2, ...原创 2018-11-30 17:16:42 · 481 阅读 · 0 评论 -
c++ primer plus 第六版第十一章学习笔记
类定义中成员函数与非成员函数区别 1)调用区别:成员函数由类的对象调用,隐式的访问调用类的数据;非成员函数不由类调用,必须显式的传递参数以访问参数的数据,即不能用:对象.方法来调用非成员函数,只能像普通函数那样来调用非成员函数。 2)常规非成员函数不能用于访问类的私有数据,而成员函数可以访问类的私有成员。 3)非成员函数在函数定义时不使用“类名::”限定符,而成员函数则...原创 2018-11-30 17:11:08 · 262 阅读 · 0 评论 -
c++ primer plus 第六版第九章编程练习
9.1 //golf.h const int Len = 40; struct golf { char fullname[Len]; int handicap; }; void setgolf(golf &g, const char *name, int hc); int setgolf(golf &g); void handicap(golf &g, int hc...原创 2018-11-17 11:21:57 · 257 阅读 · 0 评论 -
c++ primer plus 第六版第九章学习笔记
静态、自动、动态变量: 静态指变量在使用完后不会消失,编译器会为其指定特定的内存空间;自动变量在使用完后便会消失,编译器将其存在称为栈的地方;动态变量指用c++运算符new或c函数malloc()分配的内存,不是LIPO,其分配释放顺序取决于new、delete的使用,这个内存空间为堆。 2、Static静态变量声明说明: 在函数或代码块外面声明的变量为全局变量,当不加任何说明符或者加exte...原创 2018-11-17 11:18:40 · 211 阅读 · 0 评论 -
c++ primer Plus 第八章编程练习答案
8.1 #include<stdafx.h> #include<iostream> #include<string> using namespace std; void print(string p, int i = 0);//默认参数是在函数声明时指定的,函数定义时不能有默认参数 int main() { string st = "c++"; co...原创 2018-11-17 11:17:42 · 1394 阅读 · 0 评论 -
c++ primer plus 第六版 第八章 学习笔记
1、引用变量(&左值引用) 1)必须在创建引用变量时对其初始化,且初始化后不能再将其作为另一个变量的引用变量; 2)当函数的形参为引用变量时,在函数调用时即将引用形参初始化为实参,传递方式类似于地址传递,该引用变量的改变将引起原始变量的改变; 3)函数形参为引用变量时,若传递的实参类型不匹配或者不是左值时,将创建一个类型匹配或者匿名的临时变量(同时发出警告),此时引...原创 2018-11-17 11:14:12 · 467 阅读 · 0 评论 -
c++ PrimerPlus 第六版 第七章学习笔记
防止地址传递时更改实参地址内容:当地址作为形参时,在定义形参时使用const关键字,可以防止错误的改变形参所传递的地址内存储的内容;且并不要求实参地址中的数据为常量 。 需要数组作为函数形参时,形参的两种定义方式:a)定义两个形参,一个用于数组名/地址的 传递,一个用于数组元素个数;b)定义两个指针类型的形参,一个用于传递数组首元素地址,一个用于传递数组尾元素地址(指向的是数组最后一个元素后面的...原创 2018-11-09 18:25:08 · 480 阅读 · 0 评论 -
C++ Primer Plus第六版第六章编程练习答案
6.1 #include<stdafx.h> #include<iostream> #include<cctype> int main() { using namespace std; char ch; cout << "enter characters<end in @>:"; while ((ch=cin.get())...原创 2018-10-27 15:55:03 · 372 阅读 · 0 评论 -
关于cin、cin.get()、cin.get(ch)返回值的问题
1、cin、带参数与不带参数cin.get()的返回值问题 cin>>ch、和带参数的cin,get()返回的是cin对象,只在需要bool类型数据的地方返回bool类型的数据;而不带参数的cin.get()返回值是整型的字符编码,也就是说可以用ch=cin.get()来对输入的字符进行非bool类型的数据比较; 例:1)、while((cin>>ch)!=‘@’...原创 2018-10-26 19:31:01 · 4951 阅读 · 0 评论 -
c++ primer plus 第六版编程练习答案第五章
该章节第二题程序没问题,但不懂为什么 5.1 #include<stdafx.h> #include <iostream> using namespace std; int main() { int max, min; long long sum=0; cout << "enter the max number: "; cin >>...原创 2018-10-23 15:12:19 · 316 阅读 · 0 评论 -
c++ primer plus 第六版第十二章编程练习
12.1 //Cow.h class Cow { char name[20]; char *hobby; double weight; public: Cow(); Cow(const char*nm, const char *ho, double wt); Cow(const Cow &c); ~Cow(); Cow&operator=(const Cow &...原创 2018-12-08 19:00:18 · 293 阅读 · 0 评论 -
c++ primer plus 第六版第十四章学习笔记
1、is-a关系:公有继承,获得实现与接口;has-a关系:包含、私有、保护继承,获得实现不获得接口。 2、公有、私有、保护继承:基类的私有成员都不能直接访问,只能通过基类方法调用;公有继承可以通过派生类直接调用基类方法,私有和保护继承只能通过基类名调用基类方法;对于隐式向上转换(将基类指针或引用指向派生类):公有继承可以在所有对象中进行,保护继承只能在派生类中使用,私有继承不允许这种转换。 ...原创 2018-12-17 19:25:03 · 327 阅读 · 0 评论 -
c++ primer plus 第六版第十八章编程练习
18.1 //main.cpp #include<iostream> #include<initializer_list> using namespace std; template<typename T> double average_list(initializer_list<T>i1) { int count = 0; double s...原创 2019-01-15 10:15:28 · 334 阅读 · 0 评论 -
c++ primer plus 第六版第十八章学习笔记
1、值与右值: 左值可出现在赋值语句的左边,如:变量名、解除引用的指针;右值可出现在赋值表达式右边,但不能对其应用地址运算符的值,包括字面常量、x+y表达式等。 2、函数形参为左右引用可接受的实参类型:(例见复习题18.2) 1)、当形参为const类型的左值引用时可接受左值和右值类型的实参,此时的形参将被分别初始化为左值和右值的临时拷贝; 2)、当形参为非const类型的左值引用时,可接...原创 2019-01-15 10:13:39 · 278 阅读 · 0 评论 -
c++ primer plus 第六版第十七章编程练习
17.1 方法一:采用peek方法(注意该方法只读取下一个字符但不抽取) //main.cpp #include <iostream> int main() { using namespace std; cout << "enter your string to count<$ for end> :\n"; int count = 0; int i ...原创 2019-01-08 15:36:54 · 447 阅读 · 0 评论 -
c++ primer plus 第六版第十七章学习笔记
Ostream类字符显示方法(需用对象调用);put(char)(用于单个字符显示);write(char*,int)(用于显示int指定的多个字符,不检查字符串是否越界),其第一个参数为读取数据的地址,第二个参数为所需读取的字符数(读取多个字符)或者字节数(读取单个字符或数值),若要读取二进制数值,将数值强制转换为char*类型并作为第一个参数,第二个参数则原数值类型所占的字节数(可以用size...原创 2019-01-08 15:33:50 · 335 阅读 · 0 评论 -
c++ primer plus 第六版第十六章编程练习
16.1 //main.cpp #include <iostream> #include<string> using namespace std; bool plalindrome1(const string &st); int main() { string st,temp; cout << "enter a lowercase strin...原创 2018-12-27 11:01:43 · 307 阅读 · 0 评论 -
c++ primer plus 第六版第十六章学习笔记
string类 智能指针类:用于指向new、new[]分配的动态内存,当智能指针对象过期时其析构函数将使用配套的delete;差别:为防止智能指针间的赋值导致的重复删除对象所采取的的措施:auto_ptr、unique_ptr将转让所有权,unique_ptr更安全,shared_ptr采用引用计数当计数为零时才调用析构函数;析构函数:auto_ptr、shared_ptr均只有与new配套的d...原创 2018-12-27 10:57:29 · 347 阅读 · 0 评论 -
c++ primer plus 第六版第十五章编程练习
15.1 //tv.h #ifndef TV_H_ #define TV_H_ #include<iostream> class Remote;//不加该前项声明对void set_rstyle(Remote&r)函数进行定义时不能识别Remote类类型,且该前项声明必须位于Tv类声明前 class Tv { public: friend class Remote; e...原创 2018-12-20 19:04:00 · 595 阅读 · 0 评论 -
c++ primer plus 第六版第十五章学习笔记
1、不同类间的友元: 1)友元类;A类是B类的友元;A中所以的方法都可以访问B类的私有成员,在B类公有成员中声明添加friend class B;语句即可。 2)特定友元成员函数:A类中的特定成员函数是B类的友元;只有在B类中声明为其友元的A类成员函数才能访问B类的私有成员,在B类公有成员声明中添加:friend 函数返回值 A类名::函数原型;语句即可。此时由于在A类友元声明中用到了B类名...原创 2018-12-20 18:57:07 · 784 阅读 · 1 评论 -
c++ primer plus 第六版第十三章编程练习
13.1 //classic.h class Cd { private: char performers[50]; char label[20]; int selections; double playtime; public: Cd(const char *s1,const char *s2, int n, double x); //Cd(const Cd&d);...原创 2018-12-17 19:28:41 · 565 阅读 · 2 评论 -
c++ primer plus 第六版第十三章学习笔记
派生类不能直接访问基类的私有成员,必须通过基类方法访问基类的私有成员 派生类重新定义了基类方法,在使用重新定义的方法时应使用作用域解析运算符 可以将派生类对象的地址赋给基类指针,此时可以通过指针调用派生对象的基类方法,若基类方法声明为虚函数,则可以通过该指针调用在派生对象中重新定义的方法。只有通过显示类型转换才能将基类对象地址赋给派生类指针,且一般不这样做,不安全。 虚函数只能用于对象的成员...原创 2018-12-17 19:25:56 · 270 阅读 · 0 评论 -
STL学习3常用算法3.2适配器
1、函数对象适配器 1.1 bind2ndz或者bind1st 将两个参数进行绑定 1.1.1 bind2nd 将参数绑定为函数对象的第二个参数 1.1.2 bind1st的参数绑定是相反的 将参数绑定为函数对象的第一个参数 1.2 继承 public binary_function<类型1,类型2,返回值> 1.3...原创 2019-03-02 17:44:40 · 228 阅读 · 0 评论