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

类私有数据和主函数的变量重名,处理原则是?
栅栏价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重名,那么处理原则是啥的?



------解决方案--------------------
给私有数据变量名称加前缀m_
m_radius
------解决方案--------------------
以局部的为主

调用外部的写上 域名::
------解决方案--------------------
弄清楚名字空间域,类域,局部域.
------解决方案--------------------
不同的作用域,没有冲突,且类中的radius是私有的,可以不考虑名字相同问题.
------解决方案--------------------
也不存在局部作用域变量屏蔽更大作用域变量的问题.