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

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

问题描述

我想包括我写的类成员变量,

MyClass.h

 的#include< SomeClass.h>
MyClass类{
    上市:
        MyClass的(INT杆);
        SomeClass的B:
}

MyClass.cpp

 的#includeMyClass.h
#包括SomeClass.h
MyClass的MyClass的::(INT PAR){
    B = SomeClass的(PAR);
}

SomeClass的需要变量它的构造函数,因此,上述code收益率没有匹配的函数调用SomeClass的:: SomeClass的( )

我应该怎么做吗?

更新:
好像成员初始化列表是要走的路,但如果我想使用 SomeClass的对象的数组?所以MyClass.h变为:

 的#include< SomeClass.h>
MyClass类{
    上市:
        MyClass的(INT杆);
        SomeClass的B〔2〕;
}


解决方案

使用成员初始化列表

  MyClass的MyClass的::(INT PAR):B(PAR)
{
}

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

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

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

What should I do here?

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];
}

解决方案

use member initializer list

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

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

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