C ++中是否存在私有虚函数的通用命名约定?我见过do_something(...)
,something_vfunc(...)
等约定.C ++项目中通常使用哪种约定?
答案 0 :(得分:2)
标准中使用的惯例(例如,在许多std::numpunct
中)是do_something
是protected
virtual
方法,something
是{{ 1}}非public
方法,可以调用它。
答案 1 :(得分:1)
我使用前缀dyn_
。所以你可能会看到:
class t_type {
public:
/* ... */
void method() {
this->dyn_method();
}
private:
virtual void dyn_method() const = 0;
};
class t_subtype : public t_type {
public:
/* ... */
private:
virtual void dyn_method() const {
...
}
};
就普通人而言 - 我不确定。
答案 2 :(得分:1)
我确信有很多惯例。我倾向于使用尾随Impl
或_impl
,具体取决于方法名称其余部分的约定。因此,ComputeFoo
会根据需要调用ComputeFooImpl
。
答案 3 :(得分:1)
不同的团队和人员使用不同的标准。我个人不会添加任何特殊的前缀或后缀。名称应代表此功能的作用。 IDE将帮助您查看它是私有还是受保护,是否为虚拟。是的,将虚拟功能设为私有或受保护是一种很好的品味,但如果你只是为了遵循这个原则而添加新功能 - 请三思而后行。