是这样的。要不写在构造函数里也行B()
{
aa.PubValue = 12;
} 你这样写,能构造出aa来,但不能再构造PubCalue的实例了。 (说的不通顺)

解决方案 »

  1.   

    那里是变量声明的地方。aa.PubValue = 12 是语句。需要写在方法里面的
      

  2.   

    也就是说aa.PubValue = 12这句必须写在方法内? 这是规定吧
      

  3.   

    那里是变量声明的地方。aa.PubValue = 12 是语句。需要写在方法里面的
    一个是定义变量,一个是操作过程,操作过程只能在方法内部,不能混淆。。
      

  4.   

    那请问下面的呢? 下面的定义了变量的同时也给变量赋了值,但不在方法里,却是对的 why? class A
    {
    public int PubValue = 0;
    protected int ProValue = 2;
    }
      

  5.   

    class A
    {
    public int PubValue = 0;
    protected int ProValue = 2;
    }
    pubvalue和provalue是类A的成员,在声明时可以赋值,这是正确的!
    但是在b类里面,aa.PubValue = 12;是一个语句,而不是声明类的成员,是对类的成员进行赋值操作,所以应该放在方法内!对类的成员的操作,都应该放在方法中!记得?
      

  6.   

    呵呵
    class A
    {
    public int PubValue = 0;
    protected int ProValue = 2;
    }
    这是定义变量,当然可以,但不可以进行对变量的操作!
    如:aa.PubValue = 12; 你看到它也赋值了,只是因为它是搭定义变量的顺风船,才可以赋值的!
    但你不可以分开来操作!不运行在类里面单独操作变量的(除非在成员函数里面)
      

  7.   

    但是你在后面写一句 proValue = 9;
    在看看,就出错了!就是这个了,只能初始化,不能操作了!
      

  8.   

    msdn中说的:一个类可包含下列成员的声明: 也就是在类中的都是声明。