C++ 中的私有虚函数是否有通用的命名约定?我见过诸如do_something(...)
,something_vfunc(...)
等约定。C++ 项目中通常使用哪种约定?
user283145
问问题
1022 次
4 回答
2
标准中使用的约定(例如在许多约定中std::numpunct
)是do_something
方法protected
virtual
,并且something
是调用它的public
非方法。virtual
于 2012-08-09T20:20:57.727 回答
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 {
...
}
};
至于一个常见的 - 我不确定。
于 2012-08-09T20:23:43.670 回答
1
我敢肯定,有很多约定。我倾向于使用尾随Impl
或_impl
取决于方法名称其余部分的约定。所以根据需要ComputeFoo
调用ComputeFooImpl
。
于 2012-08-09T20:27:06.777 回答
1
不同的团队和人员使用不同的标准。我个人是不要添加任何特殊的前缀或后缀。名称应该代表这个函数的作用。IDE 将帮助您查看它是私有的还是受保护的、虚拟的还是非虚拟的。是的,将虚函数设为私有或受保护是一个不错的选择,但如果你添加新函数只是为了遵循这个原则——三思而后行。
于 2012-08-09T21:39:06.970 回答