C++类(公共,私有和受保护)

Sim*_*ity 38 c++ private protected public access-modifiers

如何可以在C++类中声明public,private或protected?

tem*_*def 43

在C++中,没有一个概念是整个类具有访问说明符,就像Java或C#中那样.如果一段代码具有类的可见性,它可以引用该类的名称并对其进行操作.也就是说,对此有一些限制.仅仅因为你可以引用一个类并不意味着你可以实例化它,例如,因为构造函数可能被标记为私有.类似地,如果类是在另一个类的私有或受保护部分中声明的嵌套类,则该类将不能从该类及其朋友外部访问.


Ben*_*ley 30

通过将一个类嵌套在另一个类中:

class A
{
public:
    class B {};
protected:
    class C {};
private:
    class D {};
};
Run Code Online (Sandbox Code Playgroud)


The*_*uck 6

这取决于你是指成员还是继承.你不能拥有'private class'这样的.

class Foo
{
public:
Foo() {} //public ctr
protected:
void Baz() //protected function
private:
void Bar() {} //private function
}
Run Code Online (Sandbox Code Playgroud)

或继承:

class Foo : public Bar
class Foo : protected Bar
class Foo : private Bar
Run Code Online (Sandbox Code Playgroud)


Edw*_*nge 5

您可以通过不将其接口发布给客户端来实现“私有类”。

我不知道如何创建“受保护的类”。