using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
    class Vechicle
    {
        public int wheels;
        protected float weight;
        public Vechicle() {;}
        public Vechicle(int w, float g)
        {
            wheels = w;
            weight=g;
        }        class car : Vechicle
        {
            int passengers;
            public car(int w, float g, int p)
                : base(w, g)
            {
                wheels = w;
                weight = g;
                passengers = p;
            }
        }
        static void Main(string[] args)
        {
        }
    }
}问题如下:
1:构造函数 是不是就是利用方法对类中的域的进行初始化
2::    public Vechicle() {;}
        public Vechicle(int w, float g)
        {
            wheels = w;
            weight=g;
        }
public Vechicle() {;} 是否表示对下面的这个构造函数的声明 
 public Vechicle(int w, float g)
        {
            wheels = w;
            weight=g;
        }
3:关于继承的问题
既然car 继承了Vechicle 是否可以把car类中的构造函数改为
由 class car : Vechicle
        {
            int passengers;
            public car(int w, float g, int p)
                : base(w, g)
            {
                wheels = w;
                weight = g;
                passengers = p;
            }
        }
改为:  
class car : Vechicle
        {
            int passengers;
            public car(int w, float g, int p)
                : base(w, g)
            {
                passengers = p;
            }
        }

解决方案 »

  1.   

    public Vechicle() {;} 是否表示对下面的这个构造函数的声明 
    public Vechicle(int w, float g)
            {
                wheels = w;
                weight=g;
            }这个类应该是两个构造,一个构造是空的,啥都不坐di说。偶也初学。
      

  2.   

    1,构造函数, 可以对类实例的域进行初始化,也是对类实例成员进行初始化很好的地方,构造函数返回类的一个实例。
    2,      public Vechicle() 
            public Vechicle(int w, float g)
           这是两个不通的构造函数(重载)
           可以这样创建类的实例:Vechicle Vechicle1=new Vechicle(); 
            Vechicle Vechicle2 = new Vechicle(1,1.0);
    3,当然可以.
      

  3.   

    构造函数就是在创建类对象的时候调用,用来初始化类中的字段以及完成一些调用等工作
    3:关于继承的问题
    既然car 继承了Vechicle 是否可以把car类中的构造函数改为
    由 class car : Vechicle
            {
                int passengers;
                public car(int w, float g, int p)
                    : base(w, g)
                {
                    wheels = w;
                    weight = g;
                    passengers = p;
                }
            }
    改为:  
    class car : Vechicle
            {
                int passengers;
                public car(int w, float g, int p)
                    : base(w, g)
                {
                    passengers = p;
                }
            }
    这样改是非常好的!!!public Vechicle() {;} 是否表示对下面的这个构造函数的声明 
     public Vechicle(int w, float g)
            {
                wheels = w;
                weight=g;
            }
    是两个不同的构造函数
    一个没有参数并且不做任何初始化工作
    另一个接受两个参数,并对类中的字段进行初始化,两个函数之间没有什么直接的联系
      

  4.   

    由 class car : Vechicle
            {
                int passengers;
                public car(int w, float g, int p)
                    : base(w, g)
                {
                    wheels = w;
                    weight = g;
                    passengers = p;
                }
            }
    改为:  
    class car : Vechicle
            {
                int passengers;
                public car(int w, float g, int p)
                    : base(w, g)
                {
                    passengers = p;
                }
            }
    这样改是非常好的!!!
    既然这样可以的
    对这句话如何理解:
    在C#中,派生类从它的直接基类中继承成员:方法、域、属性、事件、索引指示器。除了构造函数和析构函数 ,派生类隐式的继承了直接基类的所有成员