首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中,在下课时写成private有什么特殊的意义吗?

在C++中,在下课时写成private有什么特殊的意义吗?
EN

Stack Overflow用户
提问于 2021-01-12 14:03:36
回答 4查看 129关注 0票数 1

我正在学习WxWidgets,我在第30页的Cross-Platform GUI Programming with wxWidgets中找到了以下代码:

代码语言:javascript
复制
class MyFrame : public wxFrame
{
  public:
    // Constructor
    MyFrame(const wxString& title);
    // Event handlers
    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);
  private:
};

在C++类的末尾编写private有什么特殊的意义吗?

EN

回答 4

Stack Overflow用户

发布于 2021-01-12 14:06:27

我认为这只是一个编码风格或编码规则或习惯的问题。

阅读this C++ reference和一些C++标准草案,例如n3337

在您的特定情况下,private:是无用的,因为在它之后class中没有任何内容。

但是wxWdigets的未来贡献者马上就知道应该在哪里添加未来的私有成员函数。

票数 5
EN

Stack Overflow用户

发布于 2021-01-12 14:08:19

不,没有什么特别的意思。它显式地表示该类不包含私有数据或方法。您可以考虑使用struct代替class,并跳过public:private:语句。

票数 3
EN

Stack Overflow用户

发布于 2021-01-12 14:25:47

您在当前表单中发布的代码中的private关键字根本没有任何作用。即使类有一些私有成员,编写private也是可选的,因为除非另有说明,否则类成员都是私有的。

但是,将类的公共部分放在最上面是一种很好的做法。原因在于,查看头文件的人很可能是对它的公共接口感到好奇。因此,将public放在顶部对于可读性很有用。

在这种特殊情况下,类的作者将private放在那里,以提醒此文件的未来作者遵循前面提到的风格,例如公共优先。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65678732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档