本文介绍了成员变量需求构造函数的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想包括我写的类成员变量,
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)
{
}
这篇关于成员变量需求构造函数的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!