a.Set(r1); b.Set(r2);请问这个怎么理解呢,在代码中的作用可以讲一下么

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

设有一个圆类,包括相关数据成员和成员函数,要求编写main函数对象测试代码,从键盘输入2个圆类对象的半径,根据半径比较这两个圆是否相等。
#include
using namespace std;
class Circle
{
private:
int r;
public:
Circle(int r1=0);
void Show();
void Set(int r1);
int Get();
};
Circle::Circle(int r1)
{r=r1;}
void Circle::Show()
{cout<<"半径="<<r<<endl; }
void Circle::Set(int r1)
{r=r1;}
int Circle::Get()
{return r; }
int main()
{
int r1,r2;
cin>>r1>>r2;
Circle a(r1),b(r2);
a.Set(r1);
b.Set(r2);
a.Show();
b.Show();
if(a.Get()==b.Get())
{
cout<<"相等"<<endl;
}
else
{
cout<<"不相等"<<endl;
}
return 0;
}

a.Set(r1); b.Set(r2);
a是Circle实例化出的一个对象,你可以理解成Circle这个圆类,实例化了一个圆叫做a,然后通过set方法设置圆a的半径为r1.
同样的b也是Circle实例化出的一个对象,实例化了一个圆叫做b,然后通过set方法设置圆b的半径为r2

r1和r2是我们通过调用cin从键盘输入去获取