封装是把属性和行为作为一个整体,表现生活中的事物,并且对属性和行为加以权限控制。
属性,又称成员属性、成员变量。
行为,又称成员函数、成员方法。
权限有public公共权限、protected保护权限和private私有权限。
class Person{
public: // 类內可以访问,类外可以访问
string name1;
protected: // 类內可以访问,类外不可以访问,儿子可以访问
string name2;
private: // 类內可以访问,类外不可以访问,儿子不可以访问
string name3;
public:
void func(){
cout << name1 << endl;// 可以
cout << name2 << endl;// 可以
cout << name3 << endl;// 可以
}
}
int main(){
Person p;
cout << p.name1 << endl;// 可以
cout << p.name2 << endl;// 不可以
cout << p.name3 << endl;// 不可以
return 0;
}
struct和class的区别就是,在不加权限关键字的时候,struct默认为公共权限,class默认为私有权限。