【发布时间】:2014-06-05 13:47:45
【问题描述】:
我基本上是在私有类中传递两个参数,我试图在我的主函数中访问这两个参数。由于我将这两个参数设为私有,因此我使用 get 和 set 函数来访问这些参数,但我无法从 get 函数返回两个值。请帮我。上一篇文章问了同样的问题,但这次它被问到了面向对象的概念。
class FirstClass{
public:
void setName(int x,int y){
a = x;
b = y;
}
int getName(){
return a,b;
}
private:
int a,b;
};
【问题讨论】:
-
这种情况下需要使用两个函数来获取两个返回值。
-
或者返回一个包含两个值的结构。或者通过引用传入变量并复制到这些变量中。
-
注意:
a,b是逗号运算符,它的作用与 Python 不同。 -
@chris: ...并且请不要重载逗号运算符来执行与 Python 中类似的操作:D
-
@tgmath,为时已晚:
someContainer = 1,3,5,4,7;无论如何,对于这样的事情,它已经在某种语言中:auto foo() {return std::make_tuple(1, 3, "abc");}至少这将在几个月内成为标准。
标签: c++ function class get return