gpt4 book ai didi

c++ - 在 C++ 中声明纯虚函数时, "= 0;"做了什么?

转载 作者:IT老高 更新时间:2023-10-28 23:22:04 29 4
gpt4 key购买 nike

Possible Duplicate:
Why pure virtual function is initialized by 0?

我知道,为了声明一个纯虚函数,你需要使用“= 0;”语法,像这样:

class Foo  
{
protected:
Foo();
virtual int getValue() = 0;
};

我的问题是,“= 0;”到底是什么(在编译器的内部工作中)语法做什么?它实际上是否将函数指针设置为零?它只是一种意图声明,就像 Java 和 C# 中的“抽象”保留字一样,如果是这样,为什么不在语言中添加一个保留字,例如“抽象”,而不是使用这种晦涩难懂的语法?

最佳答案

它声明了一个“纯虚”函数。 = 0 基本上就像另一个“纯”关键字。这个问题与你有关:Why is a pure virtual function initialized by 0?

纯虚函数根本没有实体,必须由继承它的任何类定义:http://www.learncpp.com/cpp-tutorial/126-pure-virtual-functions-abstract-base-classes-and-interface-classes/

关于c++ - 在 C++ 中声明纯虚函数时, "= 0;"做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279672/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com