C++和C#构造函数的不同写法

 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关键字就可以表示基类名了。

当创建派生类对象时,系统首先执行基类构造函数,然后执行派生类的构造函数,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值