类中访问权限控制
——首先引出一个问题:为什么用访问限制?
——答:可以将一些较为敏感的隐私数据进行隐藏起来,不能让外部轻易获取
关键字 | 功能 |
---|---|
public | 公有访问权限 |
private | 私有访问权限 |
protected | 受保护的访问权限 |
- **private:**只能由类中的函数,或者友元函数访问,其他的都不能访问,该类的对象也不能访问(自己家的东西)
- **protected:**可以被该类中的函数、子类中的函数,以及友元函数进行访问,但是不能被该类的对象访问(保险柜中的东西)
- **public:**可以被该类中的函数、子类中的函数、友元函数访问,也可以由该类中的对象访问(公家的东西)
注意
class
与struct
都是C++的关键字
但是class默认的访问权限是private
,struct访问权限是public
// struct
struct A {
int x, y;
int echo() {
cout << "hello world!" << endl;
return 0;
}
};
//可以直接按照以下语句访问
A a;
a.x = 3, a.y = 4;
cout << a.x << " " << a.y << endl;
//输出结果
3 4
//class
class B {
public :
void set_xy(int x, int y) {
cout << this << endl;
this->x = x, this->y = y;
}
int echo() {
cout << "hello world!" << endl;
cout << x << " " << y << endl;
return 0;
}
private :
int x, y;
};
//可以按照以下语句进行访问
B b;
b.set_xy(3, 2);
b.echo();
//输出结果
3 2
hello world!