关于派生类构造函数调用基类构造函数的有关问题
关于派生类构造函数调用基类构造函数的问题
书本上说:
1、派生类不能继承基类的构造函数!
2、实例化一个派生类的对象时,先调用基类的构造函数去实例化从基类继承来的成员。
派生类和基类虽然有继承关系,但本质上是两个独立的类
我的问题是:
1、若派生类没有继承基类的构造函数,在派生类实例化时为什么能调用另外一个类的构造函数?
2、实例化派生类时,基类并没有被实例化,基类当时作为一个数据类型而存在,为什么基类的构造函数能被其他类所调用?
------解决方案--------------------
首先我觉得你进入一个误区了,基类作为一个类,他的构造函数本身就可以被其他类调用,不管这个类是不是他的派生类,除非这个构造函数设置成私有的了,或者protected保护的(这种情况下构造函数只能被派生类调用)。
------解决方案--------------------
派生类的构造是从基类的构造开始 楼主把派生类分为两个部分来看比较好 基类部分由基类构造 派生类部分由派生类构造
------解决方案--------------------
反复这这个问题上纠结,构造函数是干嘛的啊,构造函数就是类提供给外部实例化类的对象的接口,如果不能调用类的构造函数,那么怎么实例化类。
书本上说:
1、派生类不能继承基类的构造函数!
2、实例化一个派生类的对象时,先调用基类的构造函数去实例化从基类继承来的成员。
派生类和基类虽然有继承关系,但本质上是两个独立的类
我的问题是:
1、若派生类没有继承基类的构造函数,在派生类实例化时为什么能调用另外一个类的构造函数?
2、实例化派生类时,基类并没有被实例化,基类当时作为一个数据类型而存在,为什么基类的构造函数能被其他类所调用?
------解决方案--------------------
首先我觉得你进入一个误区了,基类作为一个类,他的构造函数本身就可以被其他类调用,不管这个类是不是他的派生类,除非这个构造函数设置成私有的了,或者protected保护的(这种情况下构造函数只能被派生类调用)。
------解决方案--------------------
派生类的构造是从基类的构造开始 楼主把派生类分为两个部分来看比较好 基类部分由基类构造 派生类部分由派生类构造
------解决方案--------------------
反复这这个问题上纠结,构造函数是干嘛的啊,构造函数就是类提供给外部实例化类的对象的接口,如果不能调用类的构造函数,那么怎么实例化类。