日期:2014-05-19  浏览次数:20815 次

为什么我没有定义构造函数也没报错,正常执行了~~
代码如下:控制台程序,真的很奇怪,高手帮忙分析下
using   System;
using   System.Collections.Generic;
using   System.Text;

namespace   BaseSample
{
        class   Program
        {
                static   void   Main(string[]   args)
                {
                        Person   my   =   new   Student( "王 ",   19);
                }
        }

        class   Person
        {
                private   string   name;
                private   uint   age;

                public   Person(string   sname,   uint   uage)
                {
                        this.name   =   sname;
                        this.age   =   uage;
                        Console.WriteLine(name);
                        Console.WriteLine(age);
                }
        }    
}

------解决方案--------------------
不懂,是奇怪
------解决方案--------------------
public Person(string sname, uint uage)
{
this.name = sname;
this.age = uage;
Console.WriteLine(name);
Console.WriteLine(age);
}
请问这是什么?

------解决方案--------------------

楼上这位,难道这就是传说中的构造函数!!
------解决方案--------------------
楼主是用vs2005开发的?vs2005 会默认自动帮你构建
public Person()
{
}
这个构造函数的
------解决方案--------------------
每个类都有构造函数,即使我们没有声明它,编译器也会自动地为我们提供一个默认的构造函数。实际上,任何构造函数的执行都隐式地调用了系统提供默认的构造函数base().
如果我们在类中声明了如下的构造函数,
C(....){..}
它等价于
C(....):base(){....}
------解决方案--------------------
呵呵.