+ -
当前位置:首页 → 问答吧 → 求解一个浅拷贝的问题?

求解一个浅拷贝的问题?

时间:2011-11-30

来源:互联网

不知道什么地方错了,还请各位解决一下。就是一个很简单的浅拷贝的问题,运行时老是有错误,求解。

#include<iostream>
using namespace std;
class Circle
{
public:
Circle();
circle(float r)
{
radius=r;
}
float areaofcircle()
{
return 3.14*radius*radius;
}
float Getradius()
{
return radius;
}
void Setradius(float r)
{
radius=r;
}
Circle(Circle &c)
{
radius=c.radius;
}
private:
float radius;
int *p;
};
void main()
{
Circle c1(10.0);
Circle *p=&c1;
Circle c2=c1;
cout<<c1.Getradius()<<endl;
cout<<c2.Getradius()<<endl;
}

作者: wai_2011   发布时间: 2011-11-30

C/C++ code

#include<iostream>
using namespace std;
class Circle
{
public:
    Circle();
    Circle(float r)  // circle拼写错误,是大写。。。
    {
        radius=r;
    }
    float areaofcircle()
    {
        return 3.14*radius*radius;
    }
    float Getradius()
    {
        return radius;
    }
    void Setradius(float r)
    {
        radius=r;
    }
    Circle(Circle &c)
    {
        radius=c.radius;
    }
private:
    float radius;
    int *p;
};
void main()
{
    Circle c1(10.0);
    Circle *p=&c1;
    Circle c2=c1;
    cout<<c1.Getradius()<<endl;
    cout<<c2.Getradius()<<endl;
}


拼写错误。。。

作者: dizuo   发布时间: 2011-11-30

C/C++ code

#include<iostream>
using namespace std;
class Circle
{
public:
    Circle(float r = 0.0L)
    {
        radius=r;
    }
    float areaofcircle()
    {
        return 3.14*radius*radius;
    }
    float Getradius()
    {
        return radius;
    }
    void Setradius(float r)
    {
        radius=r;
    }
    Circle(Circle &c)
    {
        radius=c.radius;
    }
private:
    float radius;
    int *p;
};
void main()
{
    Circle c1(10.0);
    Circle *p=&c1;
    Circle c2=c1;
    cout<<c1.Getradius()<<endl;
    cout<<c2.Getradius()<<endl;
}


作者: hnuqinhuan   发布时间: 2011-11-30