Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++是一个纯函数,还是一个定义,还是一个声明? 在C++程序设计课程中,我了解了定义和声明之间的区别。没有函数体的函数是声明,有函数体的函数是定义。后来我学习了纯虚拟函数。纯虚拟函数没有函数体,但它是用=0;初始化的;。这是否意味着纯虚函数是一个定义,还是仅被视为声明_C++_Declaration_Definition_Virtual Functions_Pure Virtual - Fatal编程技术网

C++是一个纯函数,还是一个定义,还是一个声明? 在C++程序设计课程中,我了解了定义和声明之间的区别。没有函数体的函数是声明,有函数体的函数是定义。后来我学习了纯虚拟函数。纯虚拟函数没有函数体,但它是用=0;初始化的;。这是否意味着纯虚函数是一个定义,还是仅被视为声明

C++是一个纯函数,还是一个定义,还是一个声明? 在C++程序设计课程中,我了解了定义和声明之间的区别。没有函数体的函数是声明,有函数体的函数是定义。后来我学习了纯虚拟函数。纯虚拟函数没有函数体,但它是用=0;初始化的;。这是否意味着纯虚函数是一个定义,还是仅被视为声明,c++,declaration,definition,virtual-functions,pure-virtual,C++,Declaration,Definition,Virtual Functions,Pure Virtual,编辑:我不认为这是重复的,因为问题是,这意味着纯虚函数是一个定义,还是只被视为声明?没有人回答 虚拟函数是可继承和可重写的函数 支持动态调度的功能。理想情况下,这就是我们所做的 调用运行时多态性。简而言之,虚拟函数 提供了一个要执行的目标函数,我们对此一无所知 编译时间。假设您扩展了一个具有虚拟 函数,您可以使用多态性来执行 函数,使用基类指针 更多阅读 纯虚函数或纯虚方法是虚函数 如果派生类 类不是抽象的 需要注意的一点是,如果类中有纯虚函数,则不能将其实例化为对象 看看下面的例子 class

编辑:我不认为这是重复的,因为问题是,这意味着纯虚函数是一个定义,还是只被视为声明?没有人回答

虚拟函数是可继承和可重写的函数 支持动态调度的功能。理想情况下,这就是我们所做的 调用运行时多态性。简而言之,虚拟函数 提供了一个要执行的目标函数,我们对此一无所知 编译时间。假设您扩展了一个具有虚拟 函数,您可以使用多态性来执行 函数,使用基类指针

更多阅读

纯虚函数或纯虚方法是虚函数 如果派生类 类不是抽象的

需要注意的一点是,如果类中有纯虚函数,则不能将其实例化为对象

看看下面的例子

class Base {
public:
    virtual string getType() = 0;
}

class Derived : public base {
public:
    string getType();
}

string
derived::getType() {
    //do necessary stuff <------------------ (1)
}

Base* myBase = new Derived(); // OK
myBase->getType() //this will call the logic at (1).That's in the derived class but not base

Base* myBase2 = new Base();//Error
对于你的问题,纯虚函数是一个声明。不需要定义


<>编辑>您可以提供默认实现,但是必须用纯虚函数*/p>@ Yunnosch来派生这个基类的派生类。纯虚拟函数绝对是C++中的一个东西,没有抽象函数。有一个抽象类,可能是@Neil的复制品,我研究了一下。关于纯虚函数是一个清楚理解的术语,您似乎是对的。谢谢然而,我的抽象函数也可以找到——诚然,不太常见。不过,谢谢你纠正我。一个纯虚函数没有一个函数体,但它可以。@ Yunnosch - C++标准定义和使用术语纯虚函数和抽象类。它没有使用术语抽象函数。也许我错过了它,但我不知道这在哪里回答了纯虚拟函数声明是否也是该函数的定义。让我补充一下:THanksAnd不需要定义-它不需要声明类中的定义,但它可以有定义,如果类希望提供默认实现。派生类必须重写纯虚函数,但如果提供了一个,它可以调用基的实现。@RemyLebeau实现纯虚函数的语法是什么?@tuket与任何其他类方法相同,唯一的区别是声明中添加了=0。