C++面向对象:初始化列表

Posted Zeker62

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++面向对象:初始化列表相关的知识,希望对你有一定的参考价值。

初始化列表

初始化列表是指在构造函数中,我们可以提前给构造函数进行初始化。

传统的初始化:

Person(int a,int b,int c){
        m_a=a;
        m_b=b;
        m_c=c;
    }

初始化列表:

Person(int a,int b,int c) : m_a(a), m_b(b), m_c(c)
    {
    }

其实这两个的区别不是很大,但是平常如果出现了这样的代码要看得懂
我们也可以修改a,b,c的值。

总结

在构造函数名后面加上 :变量(值)就完成了初始化列表的操作

完整代码


#include <iostream>
using namespace std;

// 初始化列表
class Person
{
public:
    // 传统初始化
    // Person(int a,int b,int c){
    //     m_a=a;
    //     m_b=b;
    //     m_c=c;
    // }

    // 初始化列表
    //  注意冒号的位置。
    Person(int a,int b,int c) : m_a(a), m_b(b), m_c(c)
    {
    }
    int m_a;
    int m_b;
    int m_c;
};
void test01()
{
    Person p(10,20,30);
    cout << p.m_a << p.m_b << p.m_c << endl;
}
int main()
{
    test01();
    system("pause");
    return 0;
}

以上是关于C++面向对象:初始化列表的主要内容,如果未能解决你的问题,请参考以下文章

c++师傅领进门,修行靠个人第五篇:C++类和对象中的一些小细节

c++师傅领进门,修行靠个人第五篇:C++类和对象中的一些小细节

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

C++类和对象

C++之类和对象