c++ primer plus学习
文章平均质量分 83
学习c++ primer plus的知识以及解答课后的答案
coderguang
个人主页:www.royalchen.com
展开
-
C++primer plus第六版课后编程题答案18.5
第十八章答案均由热心博友:王琪胜 提供邮箱:wqs1639@gmail.com如果对答案有疑问的可以发Email给我或者该博友,感谢大家一直以来的支持,祝大家都能在编程中找到自己的最亮的那个闪光点。————————————————————————————————————————————————————18.5//functor.cpp--using原创 2014-12-18 13:42:34 · 2130 阅读 · 0 评论 -
C++primer plus第六版课后编程题答案18.4
第十八章答案均由热心博友:王琪胜 提供邮箱:wqs1639@gmail.com如果对答案有疑问的可以发Email给我或者该博友,感谢大家一直以来的支持,祝大家都能在编程中找到自己的最亮的那个闪光点。————————————————————————————————————————————————————18.4//functor.cpp--using原创 2014-12-18 13:39:41 · 1524 阅读 · 0 评论 -
C++primer plus第六版课后编程题答案18.3
第十八章答案均由热心博友:王琪胜 提供邮箱:wqs1639@gmail.com如果对答案有疑问的可以发Email给我或者该博友,感谢大家一直以来的支持,祝大家都能在编程中找到自己的最亮的那个闪光点。————————————————————————————————————————————————————18.3#include long double原创 2014-12-18 13:37:00 · 1513 阅读 · 0 评论 -
C++primer plus第六版课后编程题答案18.2
第十八章答案均由热心博友:王琪胜 提供邮箱:wqs1639@gmail.com如果对答案有疑问的可以发Email给我或者该博友,感谢大家一直以来的支持,祝大家都能在编程中找到自己的最亮的那个闪光点。————————————————————————————————————————————————————18.2//dev-cpp 5.6.2编译成功但是原创 2014-12-18 13:33:23 · 1816 阅读 · 1 评论 -
C++primer plus第六版课后编程题答案18.1
第十八章答案均由热心博友:王琪胜 提供邮箱:wqs1639@gmail.com如果对答案有疑问的可以发Email给我或者该博友,感谢大家一直以来的支持,祝大家都能在编程中找到自己的最亮的那个闪光点。————————————————————————————————————————————————————18.1#include #include templateT av原创 2014-12-18 13:26:33 · 1633 阅读 · 0 评论 -
C++学习笔记36 模版的显式具体化(template specialization)和显式实例化(template instantiation)
C++的模版有时候很可能无法处理某些类型。例如:#include using namespace std;class man{private: string name; int data;public: man(string s,int i):name(s),data(i){ } void show()const{ cout<<"this name is "<<nam原创 2014-08-20 23:18:15 · 59543 阅读 · 4 评论 -
C++学习笔记35 方法模版
C++允许模版化类中的单个方法,这些方法可以在一个类模版中,也可以在一个非模版化的类中。在编写一个模版化的类方法时,实际上是为不同类型编写不同版本的方法,在类模版中,方法模版对赋值运算符和复制构造函数非常有用。要注意的是,不能用方法模版编写虚方法和析构函数。1.一个普通类中的方法模版例子:#include using namespace std;class man{priva原创 2014-08-20 10:27:43 · 1269 阅读 · 0 评论 -
C++学习笔记34 模版的原理
模版在C++中具有非常重要的地位,STL就是大量运用模版写出来的。模版的优点我就不一一列举了。这里我只说一下模版的原理。当编译器遇到模版方法定义的时候,编译器进行语法检查,但是并不会编译模版。编译器无法编译模版定义,因为编译器不知道要使用的类型是什么,编译器不知道x和y的类型的情况下无法为x=y这样的语句生成代码。当编译器遇到一个实例化的模版的时候,例如vector vi(这里我只是拿原创 2014-08-20 09:39:47 · 1163 阅读 · 0 评论 -
C++学习笔记33 转换运算符
有时候我们想将一个类类型转换为另一个类类型,同时,这两个类并不存在继承关系,这时候我们就需要一种叫做转换运算符的运算符.一个简单的例子.要将类A转换为int类型#include #include using namespace std; class A{ private: int n; string str; public: A(int m,string原创 2014-07-15 11:18:54 · 1052 阅读 · 0 评论 -
C++学习笔记32 谓词函数
首先来看看百度百科对"谓词函数"的定义说明:1定义编辑一个判断式,一个返回bool值的函数或者仿函数。几元就是函数有几个参数,至于定义和使用,函数定义和一般的函数定义一样,仿函数就是写个类,然后重载operator()。使用就是在那些以这种需要返回bool值的函数作参数的函数里用了。一元谓词函数举例如下1,判断给出的string对象的长度是否小于6boo原创 2014-07-08 21:22:05 · 1759 阅读 · 1 评论 -
C++学习笔记31,指向引用的指针(3)
我们来看一个简单的指向引用的指针的例子。#include using namespace std;int main(){ int x=10; int y=20; int &rtx=x; //不要写成了int& *ptrx=&rtx; //因为rtx的本质是一个int int *ptrx=&rtx; *ptrx=15; ptrx原创 2014-06-21 10:02:51 · 2395 阅读 · 3 评论 -
C++学习笔记30,指针的引用(2)
可以创建任何类型的引用,包括指针类型。看一个简单的指针的引用的例子。例如:#include using namespace std;int main(){ int x=10; int y=20; int z=30; int* ptx=&x; int* ptz=&z; //指针的引用,声明从右往左看,rtp与&结合, //剩余的符号原创 2014-06-21 09:43:48 · 1379 阅读 · 0 评论 -
C++学习笔记29,引用变量(1)
引用变量在创建的时候就必须初始化。无法创建一个未被初始化的引用。#include using namespace std;int main(){ int x=10; int y=20; int &r1;}编译结果:如果引用未被初始化,编译将报错。修改引用:引用总是指向初始化的那个变量,也就是说,引用一旦被创建并初始化之后就无法改变。这一原创 2014-06-20 22:40:07 · 1444 阅读 · 0 评论 -
C++学习笔记28,纯虚函数和抽象基类
纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。---原创 2014-06-18 16:38:15 · 1675 阅读 · 0 评论 -
C++学习笔记27,虚函数的工作原理
C++规定了虚函数的行为,但是将实现交给了编译器的作者.通常,编译器处理虚函数的方法是给每一个对象添加一个隐藏成员.隐藏成员中保存了一个指向函数地址数组的指针.这个数组称为虚函数表(virtual function table,vtbl).虚函数表中存储了为类对象进行声明的虚函数的地址.例如:基类对象包含一个指针,该指针指向基类的虚函数表.派生类对象包含一个指针,该指针指向一个独立原创 2014-06-18 10:35:56 · 1648 阅读 · 4 评论 -
C++学习笔记26,虚函数
在C++里面,虚函数是一类重要的函数!原创 2014-06-18 09:32:58 · 1484 阅读 · 0 评论 -
C++学习笔记25,永远将析构函数声明为virtual
要永远记得将析构函数声明为virtual---->>或许你觉得这句话不一定对,但无需质疑的是这句话是很有用的.查看下面的例子:#include #include using namespace std;class B{public: ~B(){ cout<<"base is destroyed!"<<endl; }};class D:public B{public原创 2014-06-16 16:37:33 · 1168 阅读 · 0 评论 -
C++学习笔记24,方法重写与方法隐藏
该博文仅用于交流学习,请慎用于任何商业用途,本博主保留对该博文的一切权利。博主博客:http://blog.csdn.net/qq844352155转载请注明出处:方法重写.是指在子类中重新编写父类中的虚函数的实现.要求子类中的函数必须跟父类中的原型一致.包括返回值类型(协变返回类型不算)以及参数的数目,排列顺序.#include #include using原创 2014-06-16 15:08:09 · 2313 阅读 · 0 评论 -
C++学习笔记23,类内函数重载
在一个类内,最常见的就是构造函数的重载了.这里我就不介绍了.先来原创 2014-06-16 13:19:15 · 1408 阅读 · 0 评论 -
C++学习笔记22,普通函数重载(1)
转载请注明出处:该博文仅用于交流学习,请慎用于任何商业用途,本博主保留对该博文的一切权利。博主博客:http://blog.csdn.net/qq844352155什么是方法重载?方法重载也可以说是函数重载,函数的多态性。具体来说就是将函数或者方法的名称用于多个函数,但是参数的类型或者参数的数目不同。在这篇blog里面我只讨论类外函数的重载。例如一个简单的例子:原创 2014-06-16 11:12:25 · 2251 阅读 · 0 评论 -
C++学习笔记21,对象赋值
C++允许将一个对象的值赋给另一个对象。或许你人原创 2014-05-27 20:17:28 · 1152 阅读 · 0 评论 -
C++学习笔记20,复制构造函数
C++有一种特殊的构造函数叫做复制狗原创 2014-05-27 19:46:24 · 1091 阅读 · 3 评论 -
C++学习笔记19,C++11的委托构造函数(三)
C++11还支持委托构造函数。原创 2014-05-26 23:46:13 · 4144 阅读 · 1 评论 -
C++学习笔记18,C++11中的初始化列表构造函数(二)
C++11中的初始化列表构造函数(Initialize_list Constructors)是将std::initializer_list作为第一个参数的构造函数,并且没有任何其他参数(或者其他参数具有默认值)。例如:#include #include //必须包含该头文件#include using namespace std;class A{private: vector m原创 2014-05-26 23:04:33 · 3033 阅读 · 0 评论 -
C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)
在构造体内初始化数据成员是最常见的方法。例如:#include using namespace std;class A{private: int i; string s;public: A(int ii,string ss){ //在构造函数体内初始化数据成员 i=ii; s=ss; cout<<"ctor:i="<<i<<",s="<<s<<endl;原创 2014-05-26 21:49:18 · 1861 阅读 · 0 评论 -
C++学习笔记16,C++11中的显式的默认构造函数以及显示删除默认构造函数
在早期的C++中,如果需要一个不接收任何参数的构造函数C++11中提供了原创 2014-05-26 13:05:01 · 3255 阅读 · 0 评论 -
C++学习笔记15,结构体中的方法
C++中结构体和C中有点不同的就是,C++中的结构体可以有类似于类原创 2014-05-26 11:18:35 · 2422 阅读 · 0 评论 -
C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
各种继承方式:特征公有继承保护继承私有继承公有成员变为派生类的公有成员派生类的保护成员派生类的私有成员保护成员变为派生类的保护成员派生类的保护成员派生类的私有成员私有成员变为只能通过基类接口访问只能通过基类接口访问只能通过基类接口访问能否隐式向上转换能能(但只能在派生类中)原创 2014-05-26 10:47:19 · 1585 阅读 · 0 评论 -
C++学习笔记13,private继承,私有继承(四)
最后来看一下private,protected,public修饰的成员属性在私有派生类中的可见情况。原创 2014-05-26 10:31:21 · 2960 阅读 · 0 评论 -
C++学习笔记12,protected继承,保护继承(三)
现在来看一下private,protected,public修饰的成员属性在保护继承的派生类中的可见情况。原创 2014-05-26 10:15:18 · 969 阅读 · 0 评论 -
C++学习笔记11,public继承,公有继承(二)
现在来看一下private,protected,public修饰的成员属性在公有派生类中的可见原创 2014-05-26 09:48:22 · 957 阅读 · 0 评论 -
C++学习笔记10,访问控制符public,protected,private(一)
众所周知,C++里面访问控制赋原创 2014-05-26 09:10:42 · 1167 阅读 · 0 评论 -
C++学习笔记9,堆栈与堆的区别
参考自百度百科:http://baike.baidu.com/view/93201.htm原创 2014-05-22 18:59:04 · 991 阅读 · 0 评论 -
C++学习笔记8,const在函数方面的使用(二)
const在函数中也有很大的作用。4.const修饰传入参数。 函数传入参数声明为const,以指明使用这种参数仅仅是为了效率的原因,而不是想让调用函数能够修改该传入参数的值。同理,将对象指针参数或引用参数声明为const,函数将不修改由这个参数所指的对象。 例如:#include using namespace std;//void change(const i原创 2014-05-22 18:33:28 · 1242 阅读 · 0 评论 -
C++学习笔记7,const关键字的使用(一)。
在C++里面,const关键字的用处很多,原创 2014-05-22 16:29:14 · 1197 阅读 · 0 评论 -
C++学习笔记6,表达式的短路逻辑
C++在对表达式求值时,会采用短路逻辑。这意味着一旦最终结果原创 2014-05-21 21:20:12 · 1537 阅读 · 0 评论 -
c++学习笔记5,多重继承中派生类的构造函数与析构函数的调用顺序(二)
现在来测试一下在多重继承,虚继承原创 2014-05-21 20:32:30 · 4759 阅读 · 0 评论 -
c++学习笔记4,派生类的构造函数与析构函数的调用顺序(一)
测试源码://测试派生类的构造函数的调用顺序何时调用//Fedora20 gcc version=4.8.2#include using namespace std;class base{public: base() { cout<<"base created!"<<endl; } ~base() { cout<<"base destroyed!"<<en原创 2014-05-18 21:40:57 · 1861 阅读 · 0 评论 -
C++ 学习笔记3,struct长度测试,struct存储时的对齐方式
一。在Windows7 32bit ,IDE为VS2010中测试原创 2014-05-18 20:07:24 · 2283 阅读 · 0 评论 -
C++学习笔记2,各基础类型及共用体的长度测试
容易混淆的一些基础:原创 2014-05-18 10:39:00 · 1332 阅读 · 1 评论