1. 类成员初始化列表的构造问题

第一次写博客,希望十年后还会再来翻一翻。
为什么要写博客,首先通过写一遍可以有更多的思考,加深印象加深理解;
其次有些东西的确会忘,每次都去百度谷歌一遍,不如查阅下自己的笔记,效率更高;
再其次有些错误经常会犯,记录下来,警惕自己以后不再犯同样的错误,我觉得这个意义最大;
最后,多了一个与大家沟通交流的机会,互相学习,共同提高。个人理解,勿喷勿喷。

根据我自己的情况来看,写博客占用的时间,要比每次反复找同样的教程,比犯同样的错误找bug浪费的时间更少,我觉得宁愿占用一些时间写博客,也不要反复找教程,更不要犯同样的错误,写博客可以有,但反复找教程,犯同样错误不应该发生。

不过,在接下来的过程中,需要思考,什么东西需要记录,如何提高效率。

此题关于类成员初始化列表的构造顺序

#include <iostream>

using namespace std;

class king
{
public:
    king(int k): j(k), i(j)
    {

    }

    void print(void)
    {
        cout << i << endl << j << endl;
    }

private:
    int i;
    int j;
};

int main(int argc, char *argv[])
{
    king king_(2);
    king_.print();

    return 0;
}

在程序中,初始化列表的初始化顺序变量声明的顺序一致,而不是按照出现在初始化列表中的顺序

在该程序中,成员i成员j先声明,因此正确的初始化顺序是先用ji进行初始化,然后用2j进行初始化。由于在对i进行初始化时j尚未被初始化,j的值是随机的,因此i的值也是随机的。

程序的输出如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值