看课后题,是不是参考答案这么些不好,int* itsRadius是野指针,是不是指针一定要指向一个变量呢??

ppsdog1956 ppsdog1956 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原题:
6_8 实现一名为SimpleCircle的简单圆类。其数据成员int*itsRadius为一个指向其半径的指针,存放其半径值。设计对数据成员的各种操作
,给出这个类的完整实现并测试这个类。

答:

#i nclude "iostream.h"
const double Pi=3.1415926;

class SimpleCircle
{
private:
int* itsRadius;
public:
SimpleCircle();
~SimpleCircle();
public:
double Area();
void SetRadius(int nRadius);
double GetRadius();
};

SimpleCircle::SimpleCircle()
{
itsRadius=new int(5);
}

SimpleCircle::~SimpleCircle()
{
delete itsRadius;
}

void SimpleCircle::SetRadius(int nRadius)
{
*itsRadius=nRadius;
}

double SimpleCircle::Area()
{
return Pi**itsRadius**itsRadius;
}

int main()
{
SimpleCircle Circle1;
Circle1.SetRadius(8);
double dArea=Circle1.Area();
cout<<dArea<<endl;
return 0;
}

//////我认为在main函数中 int radius(8);

Circle1.SetRadius(&radius);
这样是不是就安全了!!
...全文
评论 4
收藏 已收藏
分享
返回顶部
ppsdog1956
VC/MFC 16,550 成员 421,606 内容