簡體   English   中英

Class 成員 function 在公共、受保護和私有之外聲明

[英]Class member function declared outside of public, protected and private

我遇到了一些看起來像這樣的代碼:

class SomeClass {
   void SomeFunction();

public:
   ~~ public members
}

class 沒有私有或受保護成員。

我的問題是; 沒有標記 class 的哪個部分“SomeFunction”屬於不良編程? 或者以這種方式定義 function 是否隱含地將其分配給 class 的某些部分,即私有或受保護,因為它不是公共成員的一部分?

在 C++ 中, classstruct之間的區別在於,對於struct ,所有內容都是隱式public的,而對於class ,所有內容都是隱式private的。

只要您明確使用public:private:protected:在兩種情況下,以下成員的行為都是相同的。

inheritance 也是如此。
struct A: B是公共 inheritance。
class A: B是私有 inheritance。

在您的示例中, SomeFunction()位於class隱式部分,因此它被視為private

一位非常受人尊敬的 C++ 專家認為這種聲明(隱式private )是一種很好的做法。
https://howardhinnant.github.io/classdecl.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM