成员变量需要构造函数的参数 [英] Member variable needs parameters for constructor

查看:39
本文介绍了成员变量需要构造函数的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我编写的类中包含一个成员变量,

I'm trying to include a member variable in the class I write,

MyClass.h

#include <SomeClass.h>
Class MyClass{
    public:
        MyClass(int par);
        SomeClass B;
}

MyClass.cpp

MyClass.cpp

#include "MyClass.h"
#include "SomeClass.h"
MyClass::MyClass(int par){
    B=SomeClass(par);
}

然而,SomeClass 为其构造函数接受变量,因此上面的代码产生没有匹配的函数来调用SomeClass::SomeClass()"

However SomeClass takes variables for its constructor, so the above code yields no matching function for call to "SomeClass::SomeClass()"

我应该在这里做什么?

更新:似乎成员初始值设定项列表是要走的路,但是如果我想使用 SomeClass 对象的数组怎么办?所以 MyClass.h 变成了:

Update: Seems like member initializer list is the way to go, but how if I want to use an array of SomeClass objects? So MyClass.h becomes:

#include <SomeClass.h>
Class MyClass{
    public:
        MyClass(int par);
        SomeClass B[2];
}

推荐答案

使用成员初始化列表

MyClass::MyClass(int par) : B(par)
{
}

这篇关于成员变量需要构造函数的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆