首页 > 试题广场 >

下述有关虚函数和纯虚函数说法错误的是?

[单选题]
下述有关虚函数和纯虚函数说法错误的是()
  • 被virtual关键字修饰的成员函数,就是虚函数
  • 在基类中实现纯虚函数的方法是在函数原型后加"=0",virtual void funtion1()=0
  • 同时含有纯虚拟函数的类称为抽象类,它可以被实例化,但是对象不可以调用纯虚函数
  • 使用纯虚函数的意义是在很多情况下,基类本身生成对象是不合情理的
为啥C++的东西会在C的题库里,服了
发表于 2022-03-21 11:02:18 回复(0)
抽象类的定义:在C++中,含有纯虚函数的类称为抽象类,它不能生成对象。抽象类是不完整的,它只能用作基类。
编辑于 2021-08-09 14:20:30 回复(0)
<p>抽象类不能被实例化,但是能作为指针或引用指向派生类的对象或函数。</p>
发表于 2020-09-03 23:32:38 回复(0)
抽象类不能被实例化,因为它的纯虚函数都没实现,要是通过实例调用纯虚函数就出错了。
发表于 2020-08-24 11:50:08 回复(0)
纯虚函数是在C++中声明为纯虚函数的虚函数。纯虚函数是一种没有实际实现的函数,它只是作为接口存在,要求派生类提供实现。包含纯虚函数的类被称为抽象类,它不能被实例化,只能被用作基类,派生类必须实现纯虚函数才能被实例化。 在C++中,可以通过在虚函数的声明中使用 "= 0" 来将其声明为纯虚函数。纯虚函数没有函数体,例如: ```cpp class Base { public: virtual void pureVirtualFunction() = 0; // 纯虚函数声明 }; ``` 上面的例子中,`Base` 类声明了一个纯虚函数 `pureVirtualFunction()`,该函数没有实际的实现。 派生类必须提供纯虚函数的实现,否则派生类也会被视为抽象类。例如: ```cpp class Derived : public Base { public: void pureVirtualFunction() override { // 提供纯虚函数的实现 // ... } }; ``` 在上述代码中,`Derived` 类继承自 `Base` 类,并实现了纯虚函数 `pureVirtualFunction()`。派生类通过提供实现来满足基类的纯虚函数的要求。 需要注意的是,包含纯虚函数的类是抽象类,不能被实例化。可以通过派生类实例化对象,但是派生类必须提供纯虚函数的实现。纯虚函数提供了一种接口的规范,要求派生类提供特定的功能实现,以实现多态性和代码的灵活性。 另外,抽象类中可以包含非纯虚函数,这些函数有实际的实现,可以被派生类直接继承或重写。抽象类可以有构造函数和析构函数,它们在派生类的对象实例化和销毁过程中起作用。
发表于 2023-08-18 17:17:52 回复(0)
懂了,实例化==创建对象,!= 抽象类创建基类
发表于 2023-06-08 11:23:16 回复(0)