可以这样写,不过既然你把money_设定为一个私有属性,最好不要直接在构造函数中赋值(语法没错),再加个 public void SetMoneySum( int money )函数的好啦
解决方案 »
- 关于DataGridview中添加了DataGridViewComboBoxCell如何设置其默认值
- 正则表达式
- 求C#正则高手:处理颜色[color=x][/color]标记
- 新闻发布中:一行显示多条新闻
- 真诚求助绑定的问题?(combobox,checkbox)
- 水晶报表菜鸟问题,大狭帮我一下
- 为什么:至少一个参数没有被指定值,百思不解其得
- 在新装的win2000+sp3+ie6的机器上安装.net framework出错
- help me!
- 有谁装过PetShop这个.NET sample么?
- 100 分求解一简单问题 -> 关于文件锁定
- 这两句话在C#builder中是这样的,在C#中应该如何写,急呀,救命呀.
不对,所有的成员变量必须在构造函数中明确的赋予初值,这是一个好习惯,而在C++中,这就更为重要了。
不对,所有的成员变量必须在构造函数中明确的赋予初值,这是一个好习惯,而在C++中,这就更为重要了。
{
return p.money_;
}这个方法应该是静态的,因为他没有使用任何非静态的成员。
并且建议可以写成只读属性: public int MoneySum
{
get { return money_; }
}
同时,正如楼上所说,这个方法是不是有安全问题?
帮忙!!谢谢!!
public int GetMoneySum( person p )
{
return p.money_;
}
p.money_;
是私有的呀
虽然这里可以是静态的,而且应该是静态的。
但是我们讨论的主要是一个类的某个对象是否可以访问该类中另一个对象的私有属性的问题。
如果硬要改,可以加一个方法,如下: public person copy()
{
person p = new person();
p.money_ = this.money_; return p;
} 难道一个人可以私自将一笔钱放到别人的账号中吗?
如果是要实现一个银行帐户,那么类应该这样写:
class BankAccount
{
static public BankAccount GetAccount ( string number ) {...}//得到银行帐户对象 public Money GetMoney ( string queryPassword ) {...}//得到帐户剩余金额 public bool Pay ( BankAccount target, Money money, string payPassword ) {...}//支付金额到其他帐户。
}struct Money
{
ulong _money = 0;
public override ToString() {...}//以货币形式输出
}