您的位置:首页 > 编程语言 > C语言/C++

C++关于子类调用父类的构造方法的问题

2017-05-22 15:15 639 查看
最近一个小问题甚是迷惑我,让我思考了很久,最后做了一个实验,结果一下思路就通了,所以呢,我们如果对于一个问题不是很懂,不妨自己去验证一下,你会得到意想不到的结果,今天我们就来谈一下在子类调用父类构造方法的问题:

1.first of all,这一点很重要,子类初始化时是一定要调用父类的构造方法的,有参,无参,系统默认的,这一点不要弄乱了,

系统默认的无参构造函数与父类自己定义的无参的构造函数不同,一个是属于系统,不可以重写,一个是属于类.

2.大致分为以下几种:

1.父类中只有一个无参的构造函数(但不是系统默认的无参函数),那么在子类初始化时,系统会自动调用这个无参的构造方法.

2.父类中即有有参的构造函数也有无参的构造函数,这个时候,如果子类不调用父类的有参构造函数,系统也会自动调用无参的构造函数,如果,则反之

3.父类中只有有参的构造函数,这个时候子类必须显示调用父类的构造函数,不然,我们的编译器就会报错。

注:无论是有参的还是无参的构造函数,只要有一个存在,系统就会隐藏掉系统默认的构造函数,转而去调用类中定义的构造函数.

希望大家多多提出宝贵的意见.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: