成员属性设置为私有

  • 优点1:将所有成员属性设置为私有,可以自己控制读写权限
  • 优点2:对于写权限,我可以检测数据的有效性。

代码示例:

#include <iostream>
#include <string>
using namespace std;
//成员属性设置为私有
//将所有成员属性设置为私有,可以自己控制读写权限
//对于写权限,我可以检测数据的有效性。
//设计人类
class Person
{
   
public:
       //设置姓名
       void setName(string name)
       {
   
              m_Name = name;
       }
       //获取姓名
       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;
                     cout << "你这个老妖精!" << endl;
                     return;
              }
              m_Age = age;
       }
       //设置情人 只写
       void setLover(string lover)
       {
   
              m_Lover = lover;
       }
private:
       //姓名 可读可写
       string m_Name;
       //年龄 只读
       int m_Age;
       //情人 只写
       string m_Lover;
};
int main()
{
   
       Person p;
       p.setName("张三");
       cout << "姓名为:" << p.getName() << endl;
       //p.m_Age=18;
       //p.setAge(18);
       p.setAge(18);
       cout << "年龄为:" << p.getAge() << endl;
       p.setLover("仓井");
       //cout << "情人为:" << p.getLover() << endl; //是不可以访问的
       system("pause");
       return 0;
}

欢迎微信公众号