C++将所有事物都看作对象,具有相同性质的对象为一类。
封装意义一:将属性和行为看作一个整体
与C中结构体类似。 一个类分为三部分:访问权限;属性;行为 主函数中需要创建相应的对象 属性和行为又统称为成员 属性=成员属性=成员变量 行为=成员函数=成员方法
class student {
public:
string s_name;
string s_number;
void writname(string n_name){
s_name=n_name;
}
void writnum(string n_num){
s_number=n_num;
}
void showstu() {
cout <<"姓名:"<<s_name<<endl;
cout <<"学号:"<<s_number<<endl;
}
};
int main() {
student a1;
a1.writname("绽放哈");
a1.writnum("18203154");
a1.showstu();
return 0;
}
封装意义二:访问权限
所有成员的权限分为三类
- 公共权限 public 成员类内可以访问,类外可以访问
- 保护权限 protected 成员类内可以访问,类外不可以访问 (之后继承会学到)儿子可以访问
- 私有权限 private 成员类内可以访问,类外不可以访问(儿子也不可以访问)
class与struct
struct的默认权限是公共 class的默认权限是私有
成员属性私有化有点:
- 可以自己控制读写权限
- 写权限可以检测数据的有效性
这是struct结构体变量无法比拟的,struct任何人都可以随意修改其中的所有变量,并且对结构体的操作需要重写一个函数,使代码变得复杂。
|