博客
关于我
C++类的构造函数
阅读量:673 次
发布时间:2019-03-16

本文共 807 字,大约阅读时间需要 2 分钟。

1 常规写法

在C++编程中,类的构造函数是类对象创建的入口。以下是一个常规的定义方法:

class Student {private:    string _name;    char _sex;    int _age;public:    Student(string name, char sex, int age) {        _name = name;        _sex = sex;        _age = age;    }};

这个代码中,构造函数通过将参数赋值给对应的成员变量来初始化对象。这种写法直观简单,但在变量较多时可能显得冗长。

2 初始化列表赋值方法

为了提高代码的可读性,特别是在类成员较多时,C++提供了初始化列表的写法:

class Student {private:    string _name;    char _sex;    int _age;public:    Student(string name, char sex, int age) : _name(name), _sex(sex), _age(age) {    }};

在这个例子中,构造函数的实现部分简化为一行语句 _name(name), _sex(sex), _age(age)。这种写法的意义在于直接将初始化列表中的值赋给对应的成员变量,而无需在函数体中逐一写出赋值语句。

需要注意的点:

  • 写法简便:初始化列表赋值在变量较多时特别方便,直接明了,减少了赋值语句的数量。
  • 灵活应用:可以选择性地初始化部分成员变量,而不是全部。
  • 初始化顺序无关:成员变量的初始化顺序遵循类中定义的顺序,与初始化列表中的顺序无关。
  • 这种写法虽然不会提高效率,但在代码可读性方面起着重要作用。正确使用初始化列表可以提升代码的质量和可维护性。在实际编码中,根据具体需求选择合适的赋值方式以达到最佳效果。

    转载地址:http://fzxqz.baihongyu.com/

    你可能感兴趣的文章
    Mysql8 数据库安装及主从配置 | Spring Cloud 2
    查看>>
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>