首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-03 
类私有数据和主函数的变量重名,处理原则是?栅栏价35/米,过道价20/平方米,过道宽3米,泳池半经键盘输入,编程

类私有数据和主函数的变量重名,处理原则是?
栅栏价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是私有的,可以不考虑名字相同问题.
[解决办法]
也不存在局部作用域变量屏蔽更大作用域变量的问题.

热点排行