在 C++ 类中,如果没有显式指定访问权限(public、protected 或 private),则默认情况下,类的成员变量和成员函数是私有的。
这意味着,如果您在类中声明一个 int 类型的变量而未指定访问权限,则它将被视为私有成员变量。私有成员只能在类的内部访问,外部无法直接访问。
以下是一个示例代码:
class MyClass {
int privateVar; // 默认为私有成员变量
public:
void publicFunc(); // 公有成员函数
};
在上面的代码中,`privateVar` 是一个 int 类型的变量,默认情况下它是私有的,只能在类的内部访问。`publicFunc()` 是一个公有成员函数,它可以从外部访问。
再例如:
class Myclass{
int var;
int add(){
return 5;
}
};
int main(){
Myclass s1;
s1.add();// ❌
}
报错如下:
这个add方法不能在main函数中访问,因为该方法的权限是private,是私有的,只能在类内部访问,如果要在类外部访问,就必须将该方法声明为public。
如果希望将成员声明为公有或者保护的成员变量,可以显式地使用 `public` 或 `protected` 关键字进行指定。
class MyClass {
public:
int publicVar; // 公有成员变量
protected:
int protectedVar; // 保护成员变量
private:
int privateVar; // 私有成员变量
};
在上面的代码中,`publicVar` 是一个公有成员变量,可以从外部访问。`protectedVar` 是一个保护成员变量,在继承关系中会起到一定的作用。`privateVar` 是一个私有成员变量,只能在类的内部访问。