C++,这句话怎么理解,求教
如果说一个基类,它的构造函数带了形参,就是参数。那么我们在子类构造的时候呢,那么需要向基类显示的去调用基类带参数的构造函数想不明白,子类函数A构造的时候,如果他的父类函数...
如果说一个基类,它的构造函数带了形参,就是参数。那么我们在子类构造的时候呢,那么需要向基类显示的去调用基类带参数的构造函数
想不明白,子类函数A构造的时候,如果他的父类函数A带了参数,那么就要先去调用父类那个带参数的构造函数A,然后再调用子类自己的构造函数?显示是什么意思?我的表达是不是不准确,怎么具体准确的说呢? 展开
想不明白,子类函数A构造的时候,如果他的父类函数A带了参数,那么就要先去调用父类那个带参数的构造函数A,然后再调用子类自己的构造函数?显示是什么意思?我的表达是不是不准确,怎么具体准确的说呢? 展开
5个回答
展开全部
显式。。不是显示。
例如:
public class Father
{
public Father(int a){};
}
public class Child : Father
{
public Child(int a,intb):base(a){};
}
例如:
public class Father
{
public Father(int a){};
}
public class Child : Father
{
public Child(int a,intb):base(a){};
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是C++类中最基本的概念,任何类的实例构造时,还按照继承链中的关系依次构造其父类。
当父类提供了默认构造函数或构造函数参数全有默认值的情况,编译器可以帮忙生成调用代码,不需要你写。但是,如果父类不提供默认构造函数,那么编译器不会知道你想怎么构造父类的,所以就得你自己写代码了,这种情况就叫做显式调用。
比如下面的继承关系,一个人需要一个唯一的id做为标识,而学生继承人,所以构造学生的时候必须提供这个id。
class Person
{
Person(long id);
}
class Student : Person
{
}
当父类提供了默认构造函数或构造函数参数全有默认值的情况,编译器可以帮忙生成调用代码,不需要你写。但是,如果父类不提供默认构造函数,那么编译器不会知道你想怎么构造父类的,所以就得你自己写代码了,这种情况就叫做显式调用。
比如下面的继承关系,一个人需要一个唯一的id做为标识,而学生继承人,所以构造学生的时候必须提供这个id。
class Person
{
Person(long id);
}
class Student : Person
{
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是有参数的构造函数,自然需要传参才能构造了。如果有多个构造函数,其中有一个是无参的,那就可以不传。看你如何使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果没有特殊的关键字,写构造函数时参数会先交给父类运算,然后才是子类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询