dre*_*evv 5 c++ constructor arguments class
我是这样的:
#include <iostream>
using namespace std;
class FirstClass
{
public:
FirstClass(int _vx) : vx(_vx) {}
int x () {return vx;}
private:
int vx;
};
Run Code Online (Sandbox Code Playgroud)
很明显,我必须写:
int main ()
{
FirstClass Object1(666);
cout << Object1.x();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
一切都很好.但问题是,当我想在另一个班级中有这个:
#include <iostream>
using namespace std;
class FirstClass
{
public:
FirstClass(int _vx) : vx(_vx) {}
int x () {return vx;}
private:
int vx;
};
class SecondClass
{
public:
FirstClass Member1(666);
};
int main ()
{
SecondClass Object2;
cout << Object2.Member1.x();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我甚至无法编译它.所以,我的问题是:如何在SecondClass的声明中将参数传递给FirstClass的构造函数?
提前致谢.
你必须在SecondClass的构造函数中将初始化值传递给FirstClass,如下所示:
class SecondClass:
{
public:
SecondClass() : Member1(666) {}
Firstclass Member1;
};
Run Code Online (Sandbox Code Playgroud)