//成员属性设置为私有 //优点 1 :将所有成员属性设置为私有,可以自己控制读写权限 //有点 2 :对于写权限,我们可以检测数据的有效性 #include //设计人类 class Person { public: //设置姓名 void setName(std::string name) { m_Name = name; } //获取姓名 std::string getName() { return m_Name; } //获取年龄 //年龄可读可写 如果想修改 (年龄的范围必须是 0~150 之间) int getAge() { //m_Age = 0; //初始化为0岁 return m_Age; } //设置年龄 void setAge(int age) { if (age < 0 || age > 150) { m_Age = 0; std::cout << "你这个老妖精!" << std::endl; return; } m_Age = age; } //设置情人 void setLover(std::string lover) { m_Lover = lover; } private: //姓名 可读可写 std::string m_Name; //年龄 只读 int m_Age; //情人 只写 std::string m_Lover; }; int main4() { Person p; p.setName("张三"); std::cout << "姓名为 :" << p.getName() << std::endl; //p.m_Age = 18; //p.setAge(18); p.setAge(18); std::cout << "年龄为 :" << p.getAge() << std::endl; //设置情人为苍井 p.setLover("苍井"); //std::cout << "想知道p的情人是谁?" << p.m_Lover << std::endl; //是不可以访问到的 只写权限 system("pause"); return 0; }