gpt4 book ai didi

c++ - 在 public、protected 和 private 之外声明的类成员函数

转载 作者:行者123 更新时间:2023-12-02 09:49:38 25 4
gpt4 key购买 nike

我遇到了一些如下所示的代码:

class SomeClass {
void SomeFunction();

public:
~~ public members
}

该类中没有私有(private)或 protected 成员。

我的问题是;没有标记“SomeFunction”类的哪一部分属于糟糕的编程?或者以这种方式定义函数是否隐式地将其分配给类的某些部分,即私有(private)或 protected ,因为它不是公共(public)成员的一部分?

最佳答案

在 C++ 中,classstruct 之间的区别在于对于 struct 来说,一切都是隐式 public 的,对于一个一切都隐式私有(private)

一旦您显式使用 public:private:protected: 两种情况下的行为相同对于以下成员。

对于继承来说也是如此。
struct A : B 是公共(public)继承。
类 A : B 是私有(private)继承。

在您的示例中,SomeFunction() 位于隐式中属于的一部分,因此被认为是私有(private)

一位非常受人尊敬的 C++ 专家认为这种情况声明(隐式 private)是一种很好的做法。
(https://howardhinnant.github.io/classdecl.html)

关于c++ - 在 public、protected 和 private 之外声明的类成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61288218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com