C++ 好奇为什么我的构造函数不';我好像不工作
下面是如何教我使用构造函数的,它似乎只对一个变量有效,但当我使用一些变量时,它的行为似乎很奇怪 我不太确定该怎么解决这个问题,但我想知道一些方向。提前谢谢C++ 好奇为什么我的构造函数不';我好像不工作,c++,constructor,C++,Constructor,下面是如何教我使用构造函数的,它似乎只对一个变量有效,但当我使用一些变量时,它的行为似乎很奇怪 我不太确定该怎么解决这个问题,但我想知道一些方向。提前谢谢 #include <iostream> #include <string> using namespace std; class Numbers { public: Numbers (int a, int b, int c) { setNum (a); setNum
#include <iostream>
#include <string>
using namespace std;
class Numbers
{
public:
Numbers (int a, int b, int c)
{
setNum (a);
setNum (b);
setNum (c);
}
void setNum (int x, int y, int z)
{
numbers = x;
digits = y;
numerals = z;
}
int getNum ()
{
return numbers;
return digits;
return numerals;
}
int add (int x, int y, int z)
{
int answer = x + y + z;
return answer;
}
private:
int numbers;
int digits;
int numerals;
};
int main ()
{
Numbers numbersobject (12,13,14);
cout << numbersobject.getNum () << endl;
return 0;
}
#包括
#包括
使用名称空间std;
班级人数
{
公众:
数字(整数a、整数b、整数c)
{
setNum(a);
setNum(b);
setNum(c);
}
void setNum(整数x,整数y,整数z)
{
数字=x;
数字=y;
数字=z;
}
int getNum()
{
返回号码;
返回数字;
返回数字;
}
整数加(整数x,整数y,整数z)
{
int-answer=x+y+z;
返回答案;
}
私人:
整数;
整数位数;
整数;
};
int main()
{
数字对象(12,13,14);
难道奇怪的意思是编译错误
在构造函数中,查看您的setNum
,它必须包含3个参数
setNum(a,b,c);
并且不能在getNum
中使用3个return
语句返回3个元素。如果需要返回2个以上的元素,请对2个元素使用std::tuple
或std::pair
。可以将构造函数更改为使用
还是旧版本
Numbers (int a, int b, int c)
{
numbers = a;
digits = b;
numerals = c;
}
我建议你简化你的构造函数
class Numbers
{
public:
Numbers(int a, int b, int c)
: numbers(a), digits(b), numerals(c) // Initialization list
{ ; }
//...
};
在您的简单类中,构造函数不需要调用setter函数。setNum
接受多少个参数?调用时传递多少个参数?您认为在getNum
中的第一个return
语句中会发生什么?一次只能从函数返回一件事。另请参见init构造函数的序列化列表。
class Numbers
{
public:
Numbers(int a, int b, int c)
: numbers(a), digits(b), numerals(c) // Initialization list
{ ; }
//...
};