C++从入门到入土第五篇:类与对象(下篇)
Posted 李憨憨_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++从入门到入土第五篇:类与对象(下篇)相关的知识,希望对你有一定的参考价值。
类与对象(下篇)
再谈构造函数
构造函数体赋值
构造函数内的语句只能将其称之为给对象赋初值,而不能将其称之为初始化,因为初始化只能初始化一次,而在构造函数中可以多次赋值;
初始化列表
虽然在这里我们不显式的去写初始化列表,本身在语法上也不会有什么错误,但还是建议将初始化卸载初始化列表中,而不是构造函数体内部;
但有几种情况是必须要写初始化列表的;
引用成员变量
const成员变量
自定义类型成员
成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关
单参构造隐式类型转换
可以加上explicit关键字将这种隐式类型转换屏蔽掉;
static 成员
假如我们要创建一个类,计算程序中创建出了多少个类对象
因为这里每创建出一个类对象都会调用一次类的构造函数,所以我们可以创建一个计数器,每调用一次构造函数就让计数器加一,但是如果我们使用全局变量的话值容易被修改,所以我们考虑使用static
普通成员函数包含this指针,static成员函数不包含this指针
this指针的意义:指向当前调用此函数的对象
static成员函数因为没有this指针所以不能调用非static成员函数
友元
友元分为友元函数和友元类
友元函数
友元类
友元类的关系是单向的;
友元类中的所有函数变成另一个类的友元函数;
以上是关于C++从入门到入土第五篇:类与对象(下篇)的主要内容,如果未能解决你的问题,请参考以下文章