我认为派生类肯定要执行基类的构造函数。
- //基类中必须有默认构造函数
- using System;
- class A
- {
- ////去掉public A(){}会报错,在调用派生类构造函数之前会先调用基类默认构造函数,
- ////若去掉下面所有构造函数(没有public A(){},public A(int a){..}),系统自动添加默认构造函数
- public A()
- {
- }
- //
- public A(int a)
- {
- Console.WriteLine("{0}",a);
- }
- }
- class B:A
- {
- public B()
- {
- Console.WriteLine("hello,B");
- }
- }
- class Test
- {
- static void Main()
- {
- A aa=new A(1);
- B bb=new B();
- A aa1=new B();
- }
- }
- /*
- * 输出:
- * 1
- * hello,B
- * hello,B
- */
复制代码
|