运算符在C+中是什么意思+;遗产 我一直在阅读C++中的继承,注意到 class Car: public Vehicle { public: string model = "Mustang"; };

运算符在C+中是什么意思+;遗产 我一直在阅读C++中的继承,注意到 class Car: public Vehicle { public: string model = "Mustang"; };,c++,C++,在定义子类之前,您使用了“:”运算符,但是我找不到这意味着什么 它是否只是我们应该知道使用的东西,而不是它如何工作或它做什么?单个冒号也可以表示类继承,如果类声明后面跟着:和类名,则表示该类派生自单个冒号后面的类 class InheritedClass : public BaseClass. 继续读这本书。稍后会解释的。@s.m不这么认为。这是书和教程所掩盖的东西。这是语言设计者的语法选择。他们为什么这样做可能是任何原因。C#也将其用于类似用途。它很可能是编译器的上下文切换触发器,告诉它准备

在定义子类之前,您使用了“:”运算符,但是我找不到这意味着什么


它是否只是我们应该知道使用的东西,而不是它如何工作或它做什么?

单个冒号也可以表示类继承,如果类声明后面跟着
和类名,则表示该类派生自单个冒号后面的类

class InheritedClass : public BaseClass.

继续读这本书。稍后会解释的。@s.m不这么认为。这是书和教程所掩盖的东西。这是语言设计者的语法选择。他们为什么这样做可能是任何原因。C#也将其用于类似用途。它很可能是编译器的上下文切换触发器,告诉它准备开始或继续继承链。它可能是必需的,否则它将无法编译代码。
Car
后面的冒号表示您正在定义继承。这就是定义继承时使用冒号(而不是运算符)的原因。还有什么需要知道的?这有点像在定义字符串文字(如
“string”
)时询问双引号字符是什么意思——定义字符串就是该字符在该上下文中的含义。@RichardBarker:“上下文切换触发器”有点丰富。对于解析器来说,这意味着
{
之间的标记是一个基类列表。然后编译器知道如何进行名称查找、计算虚拟基类、为基类子对象包含空间、继承成员等。超切点:
这里不是运算符,而是标点符号。