using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Bus bus = new Bus("黑", "宝马", 50);
            bus.Run();
            Truck.truck = new Truck("蓝", "大众", 3);
            truck.Run();
            List<Vehicle> vehicles = new List<Vehicle>();
            vehicles.Add(bus);
            vehicles.Add(truck);
            foreach (Vehicle p in vehicles)
            {
                if (p is Bus)
                {
                    Bus bus = (Bus)p;
                    bus.Run();
                }
                if (p is Truck)
                {
                    Truck truck = (truck)p;
                    truck.Run();
                }
            }
        }
    }
    class Vehicle
    {
        
        public Vehicle(string color, string name, int passengerNum)
        {
            this.color = color;
            this.name = name;
            
           
        }
        private string color;        public string Color
        {
            get { return color; }
            set { color = value; }
        }
        private string name;        public string Name
        {
            get { return name; }
            set { name = value; }
        }
      
       
    }
    class Bus : Vehicle
    {
        public Bus(string color, string name, int passengerNum)
            : base(color, name)
        {
            this.passengerNum = passengerNum;        }
        int passengerNum;        public int PassengerNum1
        {
            get { return passengerNum; }
            set { passengerNum = value; }
        }
        public void Run()
        { 
            Console.WriteLine("{0}颜色的{1}公共汽车,乘客{2}名",this.Color,this.Name.this.PassengerNum);
        }
    }
    class Truck:Vehicle
    {
        public Truck(string color, string name, int load)
            : base(color, name)
        {
            this.load = load;
        }
        int load;        public int Load
        {
            get { return load; }
            set { load = value; }
        }
        public void Run()
        { 
            Console.WriteLine("{0}颜色的{1}公共汽车,载重量{2}吨",this.Color,this.Name.this.Load);
        }
    }
}
以上一段程序到底哪里错了,该怎么修改呢?

解决方案 »

  1.   


    using System; 
    using System.Collections.Generic; 
    using System.Text; namespace ConsoleApplication3 

      public class Program 
        { 
            static void Main(string[] args) 
            { 
             Bus bus;
             Truck truck;
                bus = new Bus("黑", "宝马", 50); 
                bus.Run(); 
                truck = new Truck("蓝", "大众", 3); 
                truck.Run(); 
                List <Vehicle> vehicles = new List <Vehicle>(); 
                vehicles.Add(bus); 
                vehicles.Add(truck); 
                foreach (Vehicle p in vehicles) 
                { 
                    if (p is Bus) 
                    { 
                        bus = (Bus)p; 
                        bus.Run(); 
                    } 
                    if (p is Truck) 
                    { 
                        truck = (Truck)p; 
                        truck.Run(); 
                    } 
                } 
            } 
        } 
    public   class Vehicle 
        { 
            
            public Vehicle(string color, string name, int passengerNum) 
            { 
                this.color = color; 
                this.name = name; 
                
              
            } 
            private string color;         public string Color 
            { 
                get { return color; } 
                set { color = value; } 
            } 
            private string name;         public string Name 
            { 
                get { return name; } 
                set { name = value; } 
            } 
          
          
        } 
    public   class Bus : Vehicle 
        { 
            public Bus(string color, string name, int passengerNum) 
                : base(color, name,passengerNum) 
            { 
                this.passengerNum = passengerNum;         } 
            int passengerNum;         public int PassengerNum1 
            { 
                get { return passengerNum; } 
                set { passengerNum = value; } 
            } 
            public void Run() 
            { 
                Console.WriteLine("{0}颜色的{1}公共汽车,乘客{2}名",this.Color,this.Name,passengerNum); 
            } 
        } 
     public   class Truck:Vehicle 
        { 
            public Truck(string color, string name, int load) 
                : base(color, name,load) 
            { 
                this.load = load; 
            } 
            int load;         public int Load 
            { 
                get { return load; } 
                set { load = value; } 
            } 
            public void Run() 
            { 
                Console.WriteLine("{0}颜色的{1}公共汽车,载重量{2}吨",this.Color,this.Name,this.Load); 
            } 
        } 
    } XP+VS 2005调试通过