构造函数和析构函数是否可以继承

发布于 科技 2024-02-05
7个回答
  1. 匿名用户2024-01-25

    1. 构造函数。

    并且析构函数不能被继承。 构造函数和析构函数用于处理对象的创建和销毁,它们只知道如何处理特定级别的对象。 因此,必须调用整个层次结构中的所有构造函数和析构函数,并且不能继承。

    2.子类的构造函数将显示调用父类的构造函数或隐式调用父类的默认构造函数来初始化父类的部分。

    3. 析构函数也是如此。 它们都是每个类都有的东西,如果它们可以被继承,就没有办法初始化它们。

  2. 匿名用户2024-01-24

    这与直接调用 base::base(1) 没有什么不同,不是实际意义上的继承。 这样做的原因是构造函数没有隐藏的参数 this。

    这仅在构造过程中和分配系统之后在构造函数中调用。 所以构造函数本身不会继承到下面的类中,derive::base(1) 返回一个基类,该基类实际上是一个基类。

    派生类的构造函数调用基类的构造函数,但这不应被视为继承,它实际上只是一个调用。 derive() base() 本质上是调用另一个函数,而不是继承。 此外,基类的构造函数不能调用任何虚函数,因为派生类尚未初始化,包括虚函数表。

    不同的是,析构函数确实是可继承的,甚至可以定义为虚函数,这样在使用基类指针删除时,可以正确调用派生类的析构函数。 执行完成后,派生类的析构函数也会自动调用基类的析构函数。 但是析构函数只能用 delete 运算符调用,所以继承关系并不明显。

  3. 匿名用户2024-01-23

    构造函数是自动继承的。

    因为如果要实例化一个“儿子”,就需要一个现有的实例化“父亲”,所以在使用“儿子”的时候,必须先构造他的“父亲”。

    我不明白的是,这个程序不能用vc++编译,但是可以用dev-c++编译,这是在问什么??

  4. 匿名用户2024-01-22

    它不能被继承,并且应该在子类的构造函数中标记调用。

  5. 匿名用户2024-01-21

    (1)继承是在现有类的基础上增加新成员,形成一个新类,新类中的成员包括新成员和继承的成员。 继承的类称为基类(父类),新类称为派生类(子类)。 定义派生类时,冒号用于表示基类,public、private 和 protected 用于表示 public、private 和 protected 继承方法。

    当未写入继承模式时,类定义的派生类默认私有继承,结构定义的派生类默认公共继承。

    2)构造函数的名称必须与其类名相同;

    构造函数不能包含任何返回值,设置 void 类型;

    一个类可以有多个构造函数,也可以没有构造函数,当该类没有构造函数时,编译器会自动为其创建一个默认构造函数;

    构造函数可以有参数,也可以没有参数。

    3)析构函数的名称前面必须有波浪线( ),析构函数的其余部分必须与类名相同;

    与构造函数一样,析构函数不能包含任何返回值;

    一个类只允许有一个析构函数,如果省略了析构函数,编译器会自动创建一个析构函数;

    析构函数不得有任何参数;

    当对象操作越界时,运行时系统会自动调用类的析构函数。

  6. 匿名用户2024-01-20

    我不会复制它,但我会谈谈本质。

    继承是指派生类继承基类的特征这一事实。 这个概念是一个软件工程概念,也体现在C++中。

    但是,面向对象开发的高效生产力能否在C++ CLI中体现出来并不是特别明显。

    构造是构造函数,是可用于初始化类型成员属性的构造函数。

    解构是指解构方法,当然在高级语言中,这种释放资源的方法是由系统自动调用的,而不是手动编写的,浪费了大量的时间。

  7. 匿名用户2024-01-19

    1.C++的构造函数,函数名与类名相同。 一旦类分配内存,构造函数就会自动激活;

    析构函数名称前面是类名,例如 class1,析构函数是类内存被撤销之前要执行的最后一个函数,它会自动激活。 它们都没有返回值。

    2.继承是指子类的成员函数可以继承父类的成员——成员变量或成员函数(私有属性不能继承)。

相关回答
9个回答2024-02-05

1.用途上的差异。

Excel 中 sumif 函数的用法是根据指定的条件对多个单元格、区域或引用求和。 条件可以是数值、文本或表达式。 >>>More