gpt4 book ai didi

c++ - 在不使用 & 的情况下按函数返回对象 (c++)

转载 作者:行者123 更新时间:2023-11-28 04:54:15 25 4
gpt4 key购买 nike

<分区>

为什么用&返回一个带函数的对象?例如,让我们看一下以下类和函数:

class Point
{
public:
Point(int x, int y);
int getX() const;
int getY() const;
void setX(int x);
void setY(int y);
void print() const;
private:
int x, y;
};


class Circle
{
public:
Circle(int x, int y, int r, int color);
int getColor() const;
void setColor(int color);
bool contains(const Point &p) const;
void print() const;
private:
const Point center;
int radius, color;
};

class Collection
{
public:
Collection(int radius, int width, int height, int color);
~Collection();
Circle& getCircleAt(const Point &p);
void print() const;
private:
int count;
Circle **circles;
};


Circle& Collection::getCircleAt(const Point &p)
{
for (int i = 0; i < count; i++)
if (circles[i]->contains(p))
return *(circles)[i];
}

上面的函数返回一个圆。在getCirclet函数中,为什么要加&?为什么我不能省略它?

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