日期:2014-05-17  浏览次数:20909 次

C#中私有变量的应用
先第一个问题,C#和C++中定义类和类成员函数时,如果不加访问修饰符,默认情况下分别是public还是private?
第二个问题,如图,ClassNewButton没有访问修饰符,默认应该是private的吧?里面的flag默认也是private的吧?
我在另一个类中创建一个ClassNewButton对象button,为什么不能使用其flag?
虽然类ClassNewButton和变量flag都是私有的,但是flag是属于对象button,为什么不能使用呢?





------解决方案--------------------
在namespace中的类、接口默认是internal类型的,也可以显示的定义为public类型
在一个类里面,属性和方法默认是private的,可以显示的定义为public、private、protected、internal或protected internal等访问类型。
------解决方案--------------------
C#默认是private的
C++为了兼容C,结构体默认是public的。
------解决方案--------------------
问题一,默认肯定是private的
问题二,图片看不到.不过我想你的意思应该是定义了一个类ClassNewButton,里面有私有字段,flag.然后实例化成一个对象button.但不能像button.flag这样去用.所谓private就是说只有类中的函数可以去用.你实例为一个对象后也不能访问的.所以在C#中一般是声明很多private的字段,然后用一个属性去调用它.
比如你在ClassNewButton中应该这样写
private int flag;
public Flag
{
get{return flag;}
set{ flag = value;}
}