- 博客(7)
- 收藏
- 关注
原创 c++primer学习笔记7(14章)
在继承时如果在派生类函数想要返回对象基类类型可以使用强制类型转换return (const base&) *this; 在调用基类的友元函数时同样使用强制转换的方法。 对另一个对象的使用还可以包含,即类内使用类,和普通类型成员一样初始化即可。 多重继承时,如果多个父类还有同一个基类,就会有多个基类的问题产生,这时需要使用虚基类。 class bd1:virtual publ...
2018-08-22 21:06:32
122
原创 C++primer学习笔记6(13章)
现在学继承,从基类继承的是派生类。 class derived:public base{ ...; } 公有继承时所有成员属性依旧相同,保护继承时基类的公有成员变为保护成员(对外封装对内公开),私有继承时全部成员变为私有成员。 基类指针和引用可以直接指向和引用派生类,这在函数形参中有很好的应用(实参使用派生类),但要注意只能使用基类的成员函数。也可以应用在定义基类指针数组具体元素指...
2018-08-20 23:20:27
139
原创 c++primer学习笔记5(12章)
先是之前没有讲过的[]运算符重载,可以方便的像数组一样使用对象成员。 格式:char& operator[](int n){return...;} 然后是静态成员函数,该函数只能在类作用域内调用,且函数内部只可使用静态成员。 而为了方便赋值使用,可以为赋值运算符重载多重载几个参数版本。 当有多个构造函数版本时,要注意每个函数的动态构造都要对应,大部分都是new[]。 函数返回类...
2018-08-14 22:28:12
175
原创 c++primer学习笔记4(11章后+12章前)
时隔好多天继续学习。 在什么都不设置的情况下,如果构造函数中存在只需一个参数就可以初始化的函数,那么"class object=1;"就可以成立,这在一些情况中可能产生问题,可以在构造函数前声明explicit关闭这个自动特性。 而如果想"int a=object"也可以,这就需要使用转换函数。 operator int()const{ return ...; } 增加了c++类...
2018-08-13 22:55:23
124
原创 C++primer学习笔记3(第10章、第11章前)
今天学习类,关于类的定义,公有私有保护构造析构this我基本都了解,没有怎么看。 而关于类的数组初始化,之前不了解可以这么写: Stock stock[3]={Stock("ahahaha",10,5),Stock(),Stock("oheiheihei",5,10)};//每一个元素单独初始化 如果想在类内定义常量,不能使用const并直接进行初始化,可以使用 enum{monday=1}...
2018-08-08 23:09:04
112
原创 C++primer学习笔记2(第9章)
那么开始今天的学习。 首先是作用域和定义域的关系,这点已经清楚了所以不再记录。 然后是自动类型变量的存储问题,会自动存储到一个“栈”式的内存空间中,等到不再使用就会释放,因为函数层级也总是一层层的,所以内存的占用和释放顺序也满足先入后出的顺序。 另外,C中的寄存器变量register关键字在C++11中虽然还可以使用,但已经没有意义,等同于普通的自动变量。 静态变量,则有三种类型。定义在函...
2018-08-08 19:54:23
126
原创 c++primer学习笔记1
为了激励(鞭策)自己每天的学习,那就记录下好了。刚好没有太多可以敲代码的地方,很多概念的东西不记一下感觉没学过一样。那么今天学习的是函数模板、函数重载、单独编译、作用域和链接。 重载的特性是函数名相同,至少有一个形参类型不同或形参数目不同,返回类型可以不同。 函数模板就是 template<typename T>swap(T &a,T &b){ T te...
2018-08-06 22:52:10
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人