首页 > 编程语言 >c++类大括号初始化

c++类大括号初始化

时间:2023-02-05 15:13:53浏览次数:29  
标签:初始化 int text c++ bool double 构造函数 class 大括号

如果程序员自己没有写明类的构造函数,那么在请使用声明的成员的顺序提供列表元素。如:

class text{
    int a;
    double b;
    bool c;
};
int main(){
    text the_class{1, 2.0, false};
}

如果已经写好了一个构造函数,请按照构造函数的参数列表提供元素。如:

class text{
    int a;
    double b;
    bool c;
public:
    text(bool the_c, double the_b, int the_a) : a{the_a}, b{the_b}, c{the_c}{
    }
};
int main(){
    text the_text{false, 2.0, 1};
}

如果默认构造函数存在,我们可以使用空大括号来调用。如:

class text{
        int a;
    double b;
    bool c;
public:
    text (){}
    text(bool the_c, double the_b, int the_a) : a{the_a}, b{the_b}, c{the_c}{
    }
};
int main(){
    text the_text{};//调用默认构造函数。
    text the_text_1{false, 2.0, 1};
}

如果默认构造函数被删除,则不能这么做。如:

class text{
        int a;
    double b;
    bool c;
public:
    text () = delete;
    text(bool the_c, double the_b, int the_a) : a{the_a}, b{the_b}, c{the_c}{
    }
};
int main(){
    text the_text{};//报错
}

具体原理和initializer_list有关。

标签:初始化,int,text,c++,bool,double,构造函数,class,大括号
From: https://www.cnblogs.com/bvwvd/p/17093376.html

相关文章

  • C++QT/MFC图演示[2023-02-05]
    C++QT/MFC图演示[2023-02-05]22。图的实现与分析问题描述:分别对有向图、无向图、带权有向图、带权无向图实现对图的基本操作(创建、求顶点的度数、增加/删除边、判断边......
  • MMLab中自定义模块初始化方法
    这方面好像介绍的少,看了下基本原理,下面介绍下如何在搭载权重的模型中加入自定义模块时方便的进行初始化。MMLab的逻辑时对每个部分进行初始化,若此部分定义了初始化方法为P......
  • c++const限定符
    希望定义一种变量,他的值不能被改变,使用const限定符,定义const对象时必须初始化。constintbuf=1024;const对象只在文件内有效。如果有多个文件需要访问某个const对象,需......
  • C++ 函数重载:女友说的话到底是什么意思?
    一、前言C语言小朋友,最近谈了个女朋友,但是他很苦恼。因为他经常不能理解自己女朋友说话的意思。小C第一次和女友约会时,自己先到了对方却还没出门,电话询问,女友表示“你给我......
  • C++学生信息管理系统[2023-02-05]
    C++学生信息管理系统[2023-02-05]25、学生信息管理系统设计要求实现如下功能:1.建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(由出生时间计算得到)......
  • C/C++图书管理系统[2023-02-05]
    C/C++图书管理系统[2023-02-05]选题二十三:图书管理系统【问题描述】设计一个计算机管理系统完成图书管理基本业务。 【任务要求】(1)每种书的登记内容包括书号、书名、......
  • C/C++航班信息的查询系统[2023-02-05]
    C/C++航班信息的查询系统[2023-02-05]选题十七:航班信息的查询系统[问题描述]该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以......
  • C++基础编程题
     一、第一种类型题,普遍是简单运算计算球的体积V=4/3πr^3,输入球的半径r,求出体积保留3位小数#include<bits/stdc++.h>usingnamespacestd;intmain(){double......
  • C/C++内存对齐原则
    C/C++内存对齐what&&why当用户自定义类型时(struct或class),编译器会自动计算该类型占用的字节数。C/C++为什么要内存对齐?我道行太浅,摘抄了网上的一个解释。为了方......
  • 6.3【微信小程序全栈开发课程】记录页面(三)--记录数据组件初始化
    1、功能介绍在记录页面对记录数据进行展示,每条记录数据后面都有编辑按钮,点击编辑按钮,出现修改文本框,点击修改按钮后,文本框会自动收起2、创建组件在src/components文件夹下面......