C++类 公共和私人领域的重要性

C++ Classes Importance of Public and Private Domains

本文关键字:重要性 C++      更新时间:2023-10-16

我对C++相当陌生,最近才了解课程。当您在类的私有域中定义某些内容(例如类函数(时,它究竟如何限制在该类中?例如:

class Example {
void dosomething(param1, param2);
};

这是否意味着您无法访问主函数中的类函数?如果是这样,这样做有什么意义,那不是意味着你根本不能使用它吗?

最后一件事,我总是看到类的私有部分下定义的类属性。如果你把它放在公共场合会发生什么?

这是否意味着您无法访问主函数中的类函数?

是的。

如果是这样,这样做有什么意义,那不是意味着你根本不能使用它吗?

当然你可以使用它。从此类的其他函数中:

class Example {
void dosomething(int a, int b) {
std::cout << "dosomething(a=" << a << ",b=" << b <<")n";
public:
void callDoSomething(int b) {
dosomething(13, b);
}
};
//main
Example e;
e.callDoSomething(5);

最后一件事,我总是看到类的私有部分下定义的类属性。如果你把它放在公共场合会发生什么?

什么都不会发生。它们对每个人都是可见的(就像私人与公共功能一样(,任何人都可以访问它们。

通常,为了保持封装正常,您希望数据成员是私有的,但这在很大程度上取决于用例。我建议买一些关于OOP和封装的书,以了解有关该主题的更多信息。