C++访问说明符太少了?

rha*_*dyn 1 c++ access-specifier

据我所知,C++中只有3个访问说明符:私有,公共,受保护

与这些3访问说明符,我怎样才能使一个方法可用到的类中的项目,但不能使用于"外国人" ??(如内部公共在C#)

Did*_*set 8

C++不知道项目是什么.

C++知道类,它提供了你提到的三个访问说明符.

C++了解翻译单元,它提供了两种访问说明符:内部和外部链接.

编辑:关于内部和外部链接,这与是否在翻译单元(目标文件)外部看到符号有关.TU中定义的任何全局staticconst变量都具有内部链接.其他人有外部联系.


gre*_*ade 5

简而言之,你没有.C++不像C#.

如果您不希望在给定库或可执行文件之外创建类,则只需不要向项目用户提供头文件.

  • 特别注意:C++访问修饰符是出于组织目的,让编译器帮助您编写更易于维护的代码.它们不是为了安全或保护知识产权. (2认同)