c++笔记2

来源:互联网 发布:动态sql语句基本语法 编辑:程序博客网 时间:2024/05/16 10:33

构造函数

构造函数无返回值,不是void类型。名字与类型名相同,允许重载。

构造一个函数,可以通过构造函数初始化列表:以冒号开始,后面是以逗号分隔的数据成员列表,每个数据成员后面有括号,括号内为初始化式。另一种方式,省略初始化列表,在构造函数函数体内对数据成员赋值。

构造函数的执行分为两个阶段,初始化阶段和计算阶段。一般来说,两种方式效果基本相同。但是有些成员必须在初始化列表中初始化。例如没有默认构造函数的类类型成员,const成员,引用类型。都需要在初始化列表中初始化。对第一种。编译器隐式使用类类型成员的默认构造函数进行初始化,若没有默认构造函数,则会出现错误。对const和引用,这两种类型只能进行初始化,不能赋值。所以 初始化这三种类型的数据成员时,唯一的机会就是在构造函数的初始化列表中。

成员初始化次序

初始化次序是定义成员的次序。与构造函数初始化列表中成员数据的次序无关。

注意这个类:

class x{

int i;

int j;

public:

x(int val):j(val),i(j){}

};

构造初始化时,会先对i,使用j的值初始化,此时j为未定义,j的值是不可靠的。这种错误编译器一般会通过编译,程序中j的值是可靠的,但只有j的值是可靠的。


寻求导师,朋友。有意者联系。。谢谢

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ppt卡了没保存怎么办 匡威鞋舌头跑偏怎么办 霍尼韦尔dcs cb锁死怎么办 谷歌身份验证器丢失 怎么办 叛乱2手雷没了怎么办 王者转移号封了怎么办? 电脑被入侵挖矿怎么办 我把exe删除了怎么办 大学图书馆借书超过期限了怎么办 win10更新完鼠标没有了怎么办 打开软件提示运行出错怎么办 电脑中了u盘病毒怎么办 电脑中病毒自动重启怎么办 病毒软件不断发信息买服务怎么办 qq被腾讯屏蔽了怎么办 电脑被u盘中毒怎么办 电脑一分钟重启怎么办 创维电视音量小怎么办 捷豹pin码忘记了怎么办 华为手机版本更新下载不了怎么办? 微信钱包没有钱怎么办 微信钱包里没有钱怎么办 微信没有收到退款怎么办 微信转账退款没有收到怎么办 礼物跟人家送重复怎么办 你已被steam封禁怎么办 武装突袭3被锁定怎么办 绝地求生右下角小地图变大怎么办 ctrl z 误删了怎么办 武装突袭3渴了怎么办 武装突袭3枪卡壳怎么办 玩武装突袭3CPU不好怎么办? 户户通001信号中断怎么办 电脑运行速度特别慢怎么办 win8.1电脑太卡怎么办 电线厂非法战地没拆够怎么办 久笔记本电脑玩彩虹六号卡怎么办 彩虹六号一直建立小队进不去怎么办 小佩喂食器离线怎么办 手机打游戏掉帧怎么办 电脑打游戏掉帧怎么办