C++之旅
文章平均质量分 71
只想有创意
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三种继承
/*protected与继承的关系如果类中有protected,如果该类没有被继承,那么protected成员相当于private成员如果该类被继承,那么基类中的protected成员对派生类可见,对对象不可见 */私有继承#includeusing namespace std;class base{private: int x原创 2014-02-22 20:30:14 · 506 阅读 · 0 评论 -
为什么赋值运算符要防止自身赋值
为什么赋值运算符要防止自身赋值呢??如果类里面含有指针指向动态分配的资源的话,那么自身赋值就可能出错有可能导致把自己给释放了如下面:#include#include#includeusing namespace std;class A{public: char *ptr; A(){ptr = nullptr原创 2014-03-29 15:41:41 · 2504 阅读 · 1 评论 -
读书笔记——继承
继承分为三种:public private protected不管何种继承,派送类都不能直接访问基类的private成员,必须通过接口访问不管何种继承,派生类都能直接访问基类的protected成员,但是派生类对象就不能直接访问基类的protected成员不管何种继承,派生类都能直接访问基类的public成员,但是只有public继承才能使派生类对象直接访问基类原创 2014-03-27 16:18:02 · 578 阅读 · 0 评论 -
字符串处理--HDU第1020题解题报告
题目链接首先想到是是用string类来做,但是string类好像不支持sprintf函数,所以改用C语言中的字符串来处理。至于为什么要用sprinf,等下解释。该题的思路是找出相邻相等的字符,然后统计个数,把个数写进字符串中,然后删除多余的字符,但是删除麻烦,就用惰性删除的方法(不知道在哪看到的这个名词)如果相同字符的个数小于10时,可以直接赋值写进字符串 str[in原创 2014-03-17 13:02:42 · 710 阅读 · 0 评论 -
关于相互依赖的类,如何不报错
名词:--声明: class A;只声明而不在此处定义,告诉编译器有这个类型,那么你就可以使用这个类型了,但这个类型的使用是受限的(在定义之前的使用)不完全类型:上面的类型就是不完全类型,该类型只能用来定义指向该类型的指针或则引用。在创建类的对象之前,必须完整地定义该类,同样在使用指针或者引用访问该类成员时,必须已经定义了类。#includeusin原创 2014-03-06 15:22:18 · 711 阅读 · 0 评论 -
构造函数与初始化列表是不同的
今天在《C++ prime》(真是一本好书啊,刚买来看,就学到了不少东西,果然学编程是幸福的,有那么多好书可以看)中看到了初始化列表和构造函数的不同之处。它们的不同之处在于--初始化列表是真正的初始化 ---相当于int a = 10;而构造函数的函数体中的初始化(应该不能叫做初始化了)只是赋值而已 ---相当于 int a; a = 10;这些不同是可以在其他C++书原创 2014-03-06 16:11:21 · 697 阅读 · 0 评论 -
while(cin>>a)的原理
>>运算符返回的是流对象的引用,那么题目就变成了 while(cin); 这好像有点奇怪,上网找了答案这是地址http://tech.ddvip.com/2013-11/1385568597206484.html转载 2014-03-07 07:41:24 · 2692 阅读 · 0 评论 -
关于const与临时变量与函数返回值
c++中函数的返回值是存储在临时变量中的下面是个实验如图,func2函数建立的引用不是func1形参x的引用,而是临时变量的引用(这个引用比指针好用,因为你无法取得临时变量的地址,所以无法建立指向临时变量的指针)所以说函数的返回值是存储在临时变量中的const与函数返回值的类型有什么关系呢?c++默认函数的返回值是const型看下面:cons原创 2014-02-20 16:12:17 · 1186 阅读 · 0 评论 -
关于引用形参的解释
void swap(int & x,int &y){ int temp = x; x = y; y = temp;}可调用函数swap(first,secord);//交换两个数字的值其实函数被翻译为void swap(int *x,int *y){ int原创 2014-02-19 15:03:57 · 811 阅读 · 0 评论 -
C++对象
学完C,学C++时,完全搞不清楚对象是什么。什么对象,什么程序是由对象+数据结构组成的。完全摸不着头脑。但当我发现,只要把程序看成是一个世界,那么程序是由一个个对象构成就很容易理解了。对象有属性和功能。如一个游戏世界,怪物是一个对象,角色也是一个对象。怪物和角色都有血量、攻击力、防御力等等...角色的功能是攻击,怪物的收到攻击就会掉血,这就是怪物的功能。原创 2014-02-16 14:10:39 · 515 阅读 · 0 评论 -
防止指针悬挂的方法
为了解决指针悬挂这个问题有下面两种方法1、使用智能指针(看了C++primer才知道的)2、在拷贝构造函数和赋值操作符中为左操作数重新分配资源,然后复制内容(即使用深拷贝)智能指针是让多个对象的指针指向一个空间,共享这一空间(共享也是有坏处的)智能指针是使用一个计数器,当该计数器为0时才会释放指针指向的内存每次创建新类的对象时原创 2014-03-29 16:40:24 · 1143 阅读 · 0 评论
分享