类 - 获取函数 - 返回多个值

Bog*_*ier 2 c++ class return-value

我们假设我们有:

Class Foo{
    int x,y;

    int setFoo();
}

int Foo::setFoo(){
    return x,y;
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的只是形成我的get函数来返回多个值.我怎样才能做到这一点?

Luc*_*ore 10

C++不支持多个返回值.

您可以通过参数返回或创建辅助结构:

class Foo{
    int x,y;

    void setFoo(int& retX, int& retY);
};

void Foo::setFoo(int& retX, int& retY){
    retX = x;
    retY = y;
}
Run Code Online (Sandbox Code Playgroud)

要么

struct MyPair
{
   int x;
   int y;
};

class Foo{
    int x,y;

    MyPair setFoo();
};

MyPair Foo::setFoo(){
    MyPair ret;
    ret.x = x;
    ret.y = y;
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

另外,你的方法不应该被调用getFoo吗?只是在说...

编辑:

你可能想要的:

class Foo{
    int x,y;
    int getX() { return x; }
    int getY() { return y; }
};
Run Code Online (Sandbox Code Playgroud)


Dan*_*ite 6

您可以拥有参考参数.

void Foo::setFoo(int &x, int &y){
    x = 1; y =27 ;
}
Run Code Online (Sandbox Code Playgroud)