gpt4 book ai didi

c++ - 重载成员函数以接收分配的值?

转载 作者:行者123 更新时间:2023-12-02 09:51:39 24 4
gpt4 key购买 nike

我想创建一个类的两个方法来访问和修改该实例中的某些数据。
例如:

int val = image.at(row, col);
image.at(row, col) = 255;
有没有一种方法可以重载该函数,以便在调用 image.at(row,col)时允许赋值?

最佳答案

您不必为此编写2个方法。只要at返回可以分配给它的值(即l值),相同的函数就可以访问和修改数据:

struct Image 
{
int& at(int, int);
// ^^^^
};
但是,当要访问其数据的对象是const对象时,您应该提供一个重载:
struct Image 
{
int& at(int, int);
int const& at(int, int) const; // for const objects
};

关于c++ - 重载成员函数以接收分配的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64127820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com