首页 > 编程语言 > 详细

C++类的成员初始化

时间:2020-02-11 22:10:57      阅读:60      评论:0      收藏:0      [点我收藏+]

C++类的成员初始化

学到一个类的成员初始化,目前已知的用途是给类内部的const类型变量进行赋值。

首先,如果像这么干,编译器会报错。

class MyClass{
    public:
    Myclass(int a, int b){
        regVar = a;
        constVar = b;
    }
    private:
        int regVar;
        const int constVar;
};

这样做会报错的原因是,构造器内部的代码只有在类被实例化时才会运行。所以我先定义了一个const类型的整型数,这个数字原则上是不可以改变的,这是不可以被改变的,所以报错了。

那么,要怎么办呢?在C++中,我们利用构造器进行成员初始化。(这里我不知道怎么说了,英文是Member Initialization List),这个列表由一个冒号连接。用variable(value)的形式进行赋值。说起来好抽象,看代码。

class MyClass{
    public:
    Myclass(int a, int b): regVar(a), constVar(b){
        // code here
    }
    private:
        int regVar;
        const int constVar;
};

这样看起来很高级,初始化必须用于const类型的赋值,可以选用于一般的变量赋值。

C++类的成员初始化

原文:https://www.cnblogs.com/scyq/p/12297022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!