using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace paraemeters
{
    public class point
    { 
        public int x,y;
        public point(int x,int y)
        {
            this.x = x;
            this.y = y;        }
    }
        public class point1 : point
        { 
            public int z;
            public point1(int x,int y,int z):point(int x,int y)
            {
                this.z=z;
            }
        }      class Program
    {
        static void Main(string[] args)
        {
           point a=new point1(10,20,30);
           point b = new point(10, 50);
           Console.WriteLine(a, b);        }
    }
}
提示无法从paraemeters.point不包含 0的参数构造函数     21行
与System.Console.WriteLine(sting,object)最匹配的重载方法具有一些无效参数  33行
无法从paraemeters.point转化为string  33行
应为关键字this 或者 base  21行

解决方案 »

  1.   

    Console.WriteLine("a:{0}, b:{1}.", a, b);public point1(int x,int y,int z):point(int x,int y)
    =>
    public point1(int x, int y, int z) : base(int x,int y)
      

  2.   

    看MSDN
    Console.WriteLine 方法 (String, Object[])
    base(w, g) 
    继承基类构造函数
    public point1(int x,int y,int z):base(x,y)
      {}
      

  3.   

    public point1(int x,int y,int z):point(int x,int y)
    {
      this.z=z;
    }
    这样肯定不行了如果想要先调用父类的构造函数,要这么写:public point1(int x,int y,int z):base(int x,int y)
    {
      this.z=z;
    }