C++ 抽象类的命名约定?

C++ 抽象类的命名约定?,c++,C++,我知道接口的命名约定类似于IName中的。但是如果我正在创建一个抽象类呢 我应该在类名前写一个I吗 没有全局命名约定。当您知道使用何种命名约定时,您可以在其中查找答案。如果您试图遵守特定的命名约定,请将其命名。正如另一个答案所解释的,没有关于命名约定的全局“C++规则” 如果你使用的是匈牙利符号,我相信这个惯例确实是在“I”前面加前缀,就像你在“IName”前面加前缀一样 注:虽然C++中没有“接口”,但可以定义纯纯方法和无成员变量的类。 < P>与Oracle java编码约定相反,C++没

我知道接口的命名约定类似于IName中的
。但是如果我正在创建一个抽象类呢


我应该在类名前写一个I吗

没有全局命名约定。当您知道使用何种命名约定时,您可以在其中查找答案。

如果您试图遵守特定的命名约定,请将其命名。正如另一个答案所解释的,没有关于命名约定的全局“C++规则”

如果你使用的是匈牙利符号,我相信这个惯例确实是在“I”前面加前缀,就像你在“IName”前面加前缀一样


<强>注:虽然C++中没有“接口”,但可以定义纯纯方法和无成员变量的类。

< P>与Oracle java编码约定相反,C++没有命名约定。p>
  • 如果你正在为某家公司做一个项目,你应该遵循他们的命名惯例。如果没有记录在案的约定——查看代码库并尝试遵循swarm,一致性是关键

  • 如果你自己开始做一些事情,很多人认为这是一个好的开始


听起来我有点困惑。你所说的抽象和界面是什么意思?在C++中,如果一个类至少有一个纯虚函数,则它是抽象的。接口类通常是一个典型但不一定是抽象类,主要用于在派生类中隐藏实现细节并用于公共接口。
I
前缀是Microsoftism(用于COM和.NET),在C++和爪哇中,你可以直接看到,如果类是抽象的,或者它是接口。我已经看到了好几次I前缀,所以我修改了它。我只是想让其他开发人员明白,这个类是抽象的或接口的。我也可能使用抽象的类的前缀。嗯,我不知道任何C++开发者认为谷歌的约定是好的一般准则。它们对谷歌来说很好,但它们必须在不普遍适用的约束条件下工作。我写道,这是一个良好的开端,而不是圣杯。有没有普遍适用的良好惯例?请随意链接到其他指南。这正是重点:我和其他许多人都认为这不是一个好的开始。它包含了很多不好的、不适用的和误导性的建议。请随意链接到其他指南。我很好奇。和谷歌的编码惯例毫无关联。今天最接近的比赛: