11.2.6重学C++之【初始化列表】

#include<stdlib.h>
#include<iostream>
#include<string>
using namespace std;


/*
    4.2 对象的初始化和清理
    4.2.6 初始化列表
        用于初始化属性
*/


class Person{
public:
    int a;
    int b;
    int c;

    /*
    // 传统初始化操作--利用有参构造函数
    Person(int _a, int _b, int _c){
        a = _a;
        b = _b;
        c = _c;
    }
    */

    // 利用初始化列表初始化属性
    // 样式1 写死
    /*
    Person():a(10), b(20), c(30){ // 注意冒号位置在形参括号后

    }
    */
    // 样式2 灵活
    Person(int _a, int _b, int _c):a(_a), b(_b), c(_c){

    }

};


void test1(){
    //Person p(10, 20, 30);
    //Person p;
    Person p(1, 2, 3);
    cout << p.a << endl;
    cout << p.b << endl;
    cout << p.c << endl;
}


int main(){
    test1();

    system("pause");
    return 0;
}

posted @ 2021-03-15 17:33  yub4by  阅读(15)  评论(0)    收藏  举报