C++版:
可以隐式地从基类继承所有成员,包括方法、字段、属性和事件,但私有成员、构造函数和析构函数等除外
1、派生类构造函数的一般形式为:
派生类构造函数名(总参数表):基类构造函数名(参数表)
{
派生类中新增加数据成员初始化语句
}
基类:student(int n, string nam)
一级派生: student1 ( int n, string nam, int a ):student (n,nam)
二级派生:student2 ( int n, string nam, int a, int s ): student1 (n,nam,a)
2、注意!!不要写成:
student2 ( int n, string nam, int a, int s ): student (n, nam), student1(n, nam, a)//错误!!!
C#版:
1.派生类的特点:
1).可以拥有自己的成员
2).可以隐式地从基类继承所有成员,包括方法、字段、属性和事件,但私有成员、构造函数和析构函数等除外。
3).只能从一个类中继承
2.在C#中,派生类不能继承其基类的构造函数,但通过使用base关键字,派生类构造函数就可以调用基类的构造函数。
C#版: public Student(string name, char sex, string school, int score):base(name, sex)
如果是C++版则写成:public Student(string name, char sex, string school, int score):person(name, sex)
这种区别,主要是C++支持多继承,而C#不支持多继承,由于C#继承的单一性,所以可以用:base关键字就可以表示基类名了。
当创建派生类对象时,系统首先执行基类构造函数,然后执行派生类的构造函数,