面试题答案
一键面试- class默认访问控制权限:
- 在C++中,
class
默认的访问控制权限是private
。即如果不明确指定访问修饰符,类中的成员(包括成员变量和成员函数)都是私有的,只能在类的内部被访问。 - 例如:
- 在C++中,
class MyClass {
int data; // 默认为private
public:
void setData(int value) {
data = value;
}
int getData() {
return data;
}
};
在此例中,data
成员变量是私有的,只能通过类内部的setData
和getData
函数访问。
- struct默认访问控制权限:
struct
默认的访问控制权限是public
。即如果不明确指定访问修饰符,结构体中的成员都是公共的,可以在结构体外部直接访问。- 例如:
struct MyStruct {
int data; // 默认为public
};
这里data
成员变量是公共的,可以在结构体外部直接访问:
int main() {
MyStruct s;
s.data = 10; // 直接访问
return 0;
}
- 在class和struct中修改成员访问控制:
- 在class中设置私有或保护成员:
- 可以使用
private
或protected
关键字来设置成员的访问权限。 - 例如,将
class
中的部分成员设置为protected
:
- 可以使用
- 在class中设置私有或保护成员:
class MyClass {
public:
void publicFunction() {
// 可以访问所有成员
}
protected:
int protectedData;
void protectedFunction() {
// 可以访问protected和private成员
}
private:
int privateData;
};
- 在struct中设置私有或保护成员:
- 同样可以使用
private
和protected
关键字。 - 例如,将
struct
中的部分成员设置为private
:
- 同样可以使用
struct MyStruct {
public:
void publicFunction() {
// 可以访问所有成员
}
private:
int privateData;
};
在这个struct
中,privateData
是私有的,不能在struct
外部直接访问。