我遇到了一些看起来像这样的代码:
class SomeClass {
void SomeFunction();
public:
~~ public members
}
Run Code Online (Sandbox Code Playgroud)
班级中没有私人或受保护的成员。
我的问题是;没有标记“SomeFunction”类的哪一部分属于糟糕的编程?或者以这种方式定义函数是否隐式地将其分配给类的某些部分,即私有或受保护的部分,因为它不是公共成员的一部分?
class在 C++ 中,和 之间的区别struct在于,对于 a structeverything 都是隐式的public,对于 a classeverything 都是隐式的private。
一旦您显式使用public:,private:或者
protected:对于以下成员,这两种情况下的行为都是相同的。
关于继承也是如此。
struct A : B是公共继承。
class A : B是私人继承。
在您的示例中,SomeFunction()位于 的隐式
部分class,因此被视为private。
一位备受尊敬的 C++ 专家认为这种声明(隐式private)是一种很好的做法。
(https://howardhinnant.github.io/classdecl.html)
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |