12.1.2 类成员的访问权限

    技术2022-07-14  71

    12.1.2 类成员的访问权限

    类成员一共有三种访问权限:

    权限说明public类内可以访问,类外可以访问,可以继承protect类内可以访问,类外不能访问,可以继承private类内可以访问,类外不能访问,不能继承

    如果不指定某一成员的权限,则默认为private。 对于类外不能访问的成员怎么赋值?通过public的成员方法对其赋值。

    #include<iostream> using namespace std; class person { public: string m_Name; protected: string m_Car; private: string m_Password; public: void setName(string name) { m_Name = name; } void setCar(string car) { m_Car = car; } void setPassword(string password) { m_Password = password; } }; int main() { person p1; p1.m_Name = "李四"; p1.m_Car = "123"; //保护权限内容类外不能访问 }

    这里设计了一个person类,有一个共有属性“姓名”,一个保护属性“汽车”,一个私有属性“密码”,三个公有成员函数对这三个属性赋值。 可以看到,在对共有属性姓名赋值时可以直接调用,但保护属性不能直接调用。如果想要对保护属性赋值,可以调用对应的方法。 所以卫门需要把main函数改为:

    int main() { person p1; p1.m_Name = "李四"; //p1.m_Car = "123"; //保护权限内容类外不能访问 p1.setCar("奔驰"); p1.setPassword("123456"); }

    这样才是对不可访问的成员赋值的正确姿势。

    Processed: 0.013, SQL: 10