C++关于子类调用父类的构造方法的问题
2017-05-22 15:15
639 查看
最近一个小问题甚是迷惑我,让我思考了很久,最后做了一个实验,结果一下思路就通了,所以呢,我们如果对于一个问题不是很懂,不妨自己去验证一下,你会得到意想不到的结果,今天我们就来谈一下在子类调用父类构造方法的问题:
1.first of all,这一点很重要,子类初始化时是一定要调用父类的构造方法的,有参,无参,系统默认的,这一点不要弄乱了,
系统默认的无参构造函数与父类自己定义的无参的构造函数不同,一个是属于系统,不可以重写,一个是属于类.
2.大致分为以下几种:
1.父类中只有一个无参的构造函数(但不是系统默认的无参函数),那么在子类初始化时,系统会自动调用这个无参的构造方法.
2.父类中即有有参的构造函数也有无参的构造函数,这个时候,如果子类不调用父类的有参构造函数,系统也会自动调用无参的构造函数,如果,则反之
3.父类中只有有参的构造函数,这个时候子类必须显示调用父类的构造函数,不然,我们的编译器就会报错。
注:无论是有参的还是无参的构造函数,只要有一个存在,系统就会隐藏掉系统默认的构造函数,转而去调用类中定义的构造函数.
希望大家多多提出宝贵的意见.
1.first of all,这一点很重要,子类初始化时是一定要调用父类的构造方法的,有参,无参,系统默认的,这一点不要弄乱了,
系统默认的无参构造函数与父类自己定义的无参的构造函数不同,一个是属于系统,不可以重写,一个是属于类.
2.大致分为以下几种:
1.父类中只有一个无参的构造函数(但不是系统默认的无参函数),那么在子类初始化时,系统会自动调用这个无参的构造方法.
2.父类中即有有参的构造函数也有无参的构造函数,这个时候,如果子类不调用父类的有参构造函数,系统也会自动调用无参的构造函数,如果,则反之
3.父类中只有有参的构造函数,这个时候子类必须显示调用父类的构造函数,不然,我们的编译器就会报错。
注:无论是有参的还是无参的构造函数,只要有一个存在,系统就会隐藏掉系统默认的构造函数,转而去调用类中定义的构造函数.
希望大家多多提出宝贵的意见.
相关文章推荐
- 关于C++中子类调用父类方法的一个问题
- java中关于子类实例化时调用父类无参构造方法的问题
- 关于子类调用父类构造方法的问题
- 关于C++中子类调用父类方法的一个问题
- c++ 子类调用父类构造方法 调用父类方法 类声明与实现分离
- 关于子类继承父类后调用方法的问题
- Java中子类调用父类构造方法的问题分析
- 关于子类调用父类构造方法的一点点 疑惑
- Java里子类调用父类构造方法问题
- 子类调用父类构造方法问题
- Java里子类调用父类构造方法问题
- 关于子类继承父类后调用方法的问题
- Java里子类调用父类构造方法问题
- java中子类继承父类自动调用父类无参构造方法的问题
- 子类继承父类时,创建对象,构造方法的调用问题
- Java里子类调用父类构造方法问题
- c++和java中关于如何调用父类方法和子类方法的辨析
- 关于子类和父类之间的方法,构造方法调用关系
- [转]Java中子类调用父类构造方法的问题分析
- 关于子类和父类的构造方法的问题