类私有数据和主函数的变量重名,处理原则是?

hackem 2007-04-04 12:10:20
栅栏价35/米,过道价20/平方米,过道宽3米,泳池半经键盘输入,编程计算机出输出过道和栅栏的造价
#include<iostream.h>
const float PI=(float)3.14159; //给出P的值
const float FencePrice=35.; //栅栏的单价
const float ConcretePrice=20.; //过道的水泥单价
class Circle //声明类Circle及其数据和方法
{
public: //外部接口
Circle(float r); //构造函数
float Circumference(); //计算圆周长
float Area(); //计算机圆面积
private: //私有数据成员
float radius;
};
Circle::Circle(float r){radius=r;} //构造函数初始化数据成员radius
float Circle::Circumference()
{
return 2*PI*radius;
}
float Circle::Area() //计算机圆面积
{
return PI*radius*radius;
}
void main()
{
float radius;
float FenceCost,ConcreteCost;
cout<<"enter pool:";
cin>>radius;
Circle pool(radius);
Circle PoolRim(radius+3);
FenceCost=PoolRim.Circumference()*FencePrice;
cout<<"Fencing!"<<FenceCost<<endl;
ConcreteCost=(PoolRim.Area()-pool.Area() )*ConcretePrice;
cout<<"Concrete!"<<ConcreteCost<<endl;
}
==================
上面类 Circle的私有数据 radius和下面main主函数的radius重名,那么处理原则是啥的?

...全文
297 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmail 2007-04-04
  • 打赏
  • 举报
回复
弄清楚名字空间域,类域,局部域.
lin_style 2007-04-04
  • 打赏
  • 举报
回复
以局部的为主

调用外部的写上 域名::
8611 2007-04-04
  • 打赏
  • 举报
回复
给私有数据变量名称加前缀m_
m_radius
hackem 2007-04-04
  • 打赏
  • 举报
回复
补:这是郑莉与董渊的C++第二版109的例题。
0黄瓜0 2007-04-04
  • 打赏
  • 举报
回复
也不存在局部作用域变量屏蔽更大作用域变量的问题.
0黄瓜0 2007-04-04
  • 打赏
  • 举报
回复
不同的作用域,没有冲突,且类中的radius是私有的,可以不考虑名字相同问题.

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧