![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ primer
文章平均质量分 64
笃志好学者
这个作者很懒,什么都没留下…
展开
-
c++ primer 习题8.3
std::istream& get(std::istream& input){ int ival; while(input>>ival,!input.eof()){ if(input.bad()) throw std::runtime_error("Istream corrupted!"); if(input.fail()) { std::cerr<<"bad data,try原创 2013-08-20 08:52:30 · 675 阅读 · 0 评论 -
拷贝构造函数
拷贝构造函数(又称复制构造函数),是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。 其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。调用拷贝构造函数的情形1) 一个对象作为函数参数,以值传递的方式传入函数体;2) 一个对象作为函数返回值,以值传递的方式从函数返回;原创 2013-09-03 15:02:17 · 524 阅读 · 0 评论 -
析构函数的调用
看到这样一个例子:class B{private: int data;public: B(){ cout<<"default constructor"<<endl; }; ~B(){ cout<<"destructed"<<endl; }; B(int i):data(i){ cout<<"destructed by parameter:"<<data<<endl原创 2013-09-03 14:18:41 · 1299 阅读 · 0 评论 -
string的构造函数,析构函数和赋值函数
有意思class String{public: String(const char *str=NULL){//普通构造函数 if(str==NULL){ m_data=new char[1]; m_data='\0'; } else { int length=strlen(str); m_data=new char[length+1]; strcp原创 2013-09-03 16:33:36 · 699 阅读 · 0 评论 -
哪些函数不能为虚函数
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1.为什么C++不支持普通函数为虚函数?普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2.为什么C++不支持构造函数为虚函数?这个原因很简单,主要是从语义上考虑,所以不支持。因为构造函转载 2013-09-03 13:41:32 · 643 阅读 · 0 评论 -
c++ 私有继承
《c++primer》上这么说:私有继承(private inheritance),基类的所有成员在派生类中为private成员。这句话感觉讲的实在是不清楚。 首先,不是所有基类成员都会被继承,应该是只有基类中访问级别为public和protected的成员被派生类继承。 然后,基类中为public、protected的成员在派生类的访问级别被设置为pr原创 2013-08-30 16:29:40 · 534 阅读 · 0 评论 -
c++ primer 习题7.31 自己编写Sales_item类
Sales_item.h#pragma once#include#includeclass Sales_item{public: Sales_item():units_sold(0),price(0){}; void read(); void prints();private: std::string isbn; unsigned units_sold; double p原创 2013-08-18 11:14:32 · 1278 阅读 · 1 评论 -
复制构造函数和赋值构造函数
复制构造函数看书看的迷糊,不就是用一个对象来初始化另一个同类型的对象嘛。后来看了下面转载的文章,觉得就一下理解了很多。 转载: http://www.cnblogs.com/xyl-share-happy/archive/2012/08/05/2623715.html C++自动提供的成员函数有:默认构造函数,复制构造函数,默认析构函数,赋值操作符,地址操作符即转载 2013-08-28 16:42:51 · 744 阅读 · 0 评论 -
c++ 关于类和构造函数
上午直接在头文件夹里简单的创建了一个类(照抄书上的),然后运行,发现报错,然后就去google原因,看到好多都是说改project->properties->Link->system。然后我就照着改,但始终问题没解决,毅然的重建一个项目,然后问题就没了,只剩一个简单的问题,发现需要改(类名.cpp)文件中对于的重构函数,否则可能会重复定义。 总结下重构函数的一些知识点:原创 2013-08-27 16:49:15 · 642 阅读 · 0 评论 -
关于默认构造函数的几个错误认识(四种情况下,编译器会生成默认构造函数)
书上提到没有定义构造函数时进行显式初始化成员,我很纳闷,不是说没有定义构造函数的时候会合成默认构造函数吗,自己查了下,果然查到了一下转载的内容:不是未定义构造函数就一定会合成默认构造函数的! 转自:http://www.cppblog.com/chenglong7997/articles/169731.html 假期间闲来无事,就下载了某大师的VC++视频资转载 2013-08-27 20:15:56 · 2580 阅读 · 1 评论 -
c++ primer 习题9.39
发现配套的习题答案有问题,稍作修改,得到正确的结果int main(){ string line1="We were her pride of 10 she named us:"; string line2="Benjamin, phoenux, the Prodigal"; string line3="and perspicacicous pacific Suzanne"; str原创 2013-08-21 14:58:14 · 696 阅读 · 0 评论 -
c++ primer 9章一些习题
9.26int main(){ int ia[]={0,1,2,3,4,5,8,13,21,55,89}; list l(ia,ia+11); vector d(ia,ia+11); list::iterator iter1=l.begin(); vector::iterator iter2=d.begin(); while(iter1!=l.end()){ if(*原创 2013-08-21 16:24:02 · 617 阅读 · 0 评论 -
虚函数
《程序员面试宝典》上看到一条关于虚函数的选择题,提到虚表,c++primer上面没有怎么详细的讲,然后去google了一下,顿时发现自己原来对虚函数这么的不了解啊。看到这样一道题,我自己做错了,能做对的人肯定是彻底掌握虚函数了:[cpp] view plaincopyprint?#include using namespace std;原创 2013-09-04 10:49:57 · 561 阅读 · 0 评论