使用构造函数的参数初始化向量成员

用户名

是否可以使用构造函数的初始化列表初始化向量成员。我在下面给出一些不正确的代码。

#ifndef _CLASSA_H_
#define _CLASSA_H_

#include <iostream>
#include <vector>
#include <string>

class CA{
public:
    CA();
    ~CA();

private:
    std::vector<int> mCount;
    std::vector<string> mTitle;
};

.cpp文件中构造函数的实现

// I want to do it this way
#pragma once

#include "classa.h"


// Constructor
CA::CA(int pCount, std::string pTitle) :mCount(pCount), mTitle(pTitle)
{

}


// Destructor
CA::~CA()
{

}

在主文件中

#include "classa.h"
int main()
{
    CA A1(25, "abcd");
    return 0;
}
songyuanyao

如果要使用作为元素vector传递的参数来初始化成员,则CA::CA可以使用列表初始化(自C ++ 11起),为此,将使用take构造函数std::vectorstd::initializer_list进行初始化。例如

CA::CA(int pCount, std::string pTitle) :mCount{pCount}, mTitle{pTitle}
//                                            ~      ~        ~      ~
{
    // now mCount contains 1 element with value 25,
    //     mTitle consains 1 element with value "abcd"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在定义附近使用显式的长度/值构造函数初始化向量成员变量?

使用模板参数初始化静态常量成员

C ++如何从值列表初始化向量成员

c ++构造函数成员初始化:传递参数

在构造函数中使用输出参数函数初始化const成员的调用的代码比lambda简单

如何使用std :: array构造函数参数C ++列表初始化const std :: array成员

使用委托构造函数时的成员初始化

使用委托构造函数进行成员初始化

初始化 const 成员并使用父构造函数

使用其他静态常量成员初始化静态常量成员

为什么可以在构造函数中使用成员初始化来满足显式构造函数的参数呢?

初始化后,Const_iterator成员变量未指向向量成员变量的开头

使用类成员函数/变量初始化默认参数

使用静态成员函数在初始化列表中初始化常量成员变量时是否存在任何问题?

在Dart中的可选参数构造函数中使用构造函数初始化成员

如何使用构造函数以非常量引用作为参数的私有对象成员初始化对象

如何访问初始化函数中不是成员变量的构造函数参数?

向量构造函数对:初始化列表与显式构造

在可变参数模板类的构造函数中初始化元组成员

用带圆 () 括号的构造函数参数初始化类内成员?

将参数传递给基类构造函数时成员的初始化

如何从构造函数参数初始化模板成员数组?

为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

具有 const 向量成员的类的复制构造函数

使用参数化构造函数初始化类成员-编译器认为我正在声明一个函数?

无法初始化向量来保存使用其构造函数初始化的另一个类

如何使用嵌套初始化构造函数中的1d向量初始化矩阵?

C ++使用构造函数参数初始化成员数组

在使用相同名称的构造函数参数初始化成员变量时,=和{}之间的区别