定一个正方形square,边长为私有,有构造函数,有个成员函数double area();还有个void copy(square s);
要求:
1:在main函数中,定义两个对象,s1(3),s2(5)
2:通过copy函数,把s2拷贝给s1,并打印s1前后的面积
3:在copy函数中使用this指针实现,并能判断是否是拷贝对象本身,如果是本身则直接返回,不进行拷贝动作。
4:area函数负责计算并输出面积
定一个正方形square,边长为私有,有构造函数,有个成员函数double area();还有个void copy(square s);
要求:
1:在main函数中,定义两个对象,s1(3),s2(5)
2:通过copy函数,把s2拷贝给s1,并打印s1前后的面积
3:在copy函数中使用this指针实现,并能判断是否是拷贝对象本身,如果是本身则直接返回,不进行拷贝动作。
4:area函数负责计算并输出面积
class square{
private:
float n;
public:
square(float a) {n = a;}
void copy(square &s)
{
if(this != &s)
{
n = s.GetN();
}
}
float GetN() {return n;}
float area() {return n*n;}
};
void main()
{
square s1(3),s2(5);
printf("拷贝前s1面积为:%.2f\n",s1.area());
s1.copy(s2);
printf("拷贝后s1面积为:%.2f\n",s1.area());
}