[C++ 焦点编程]笔记 4.1.3 成员属性设置为私有

打印 上一主题 下一主题

主题 1312|帖子 1312|积分 3936

4.1.3 成员属性设置为私有

优点1:将所有成员属性设置为私有,可以本身控制读写权限
优点2:对于写权限,我们可以检测数据的有效性
  1. #include<iostream>
  2. using namespace std;
  3. /*4.1.3 成员属性设置为私有
  4. 优点1:将所有成员属性设置为私有,可以自己控制读写权限
  5. 优点2:对于写权限,我们可以检测数据的有效性*/
  6. //人类
  7. class Person
  8. {
  9. public:
  10.         //设置姓名
  11.         void setName(string name)
  12.         {
  13.                 m_Name = name;
  14.         }
  15.         //获取姓名
  16.         string getName()
  17.         {
  18.                 return m_Name;
  19.         }
  20.         //获取年龄
  21.         int getAge()
  22.         {
  23.                 return m_Age;
  24.         }
  25.         //设置年龄(0-150)
  26.         void setAge(int age)
  27.         {
  28.                 if (age < 0 || age>150)
  29.                 {
  30.                         cout << "年龄"<<age<< " 输入有误, 赋值失败" << endl;
  31.                         return;
  32.                 }
  33.                 m_Age= age;
  34.         }
  35.         //设置偶像
  36.         void setIdol(string idol)
  37.         {
  38.                 m_Idol = idol;
  39.         }
  40. private:
  41.         string m_Name;//可读可写
  42.         int m_Age =18;//只读                也可以写(年龄必须在0-150)
  43.         string m_Idol;//只写
  44. };
  45. int main()
  46. {
  47.         Person p;
  48.         //姓名设置
  49.         p.setName("张三");
  50.         cout << "姓名: " << p.getName() << endl;
  51.         //年龄设置
  52.         p.setAge(160);
  53.         //获取年龄
  54.         cout << "年龄: " << p.getAge() << endl;
  55.         //偶像设置
  56.         p.setIdol("坤哥");
  57.         //cout << "偶像: " << p.getIdol() << endl;//只写, 外界无法访问
  58.         system("pause");
  59.         return 0;
  60. }
复制代码
运行效果:

可以看到检测到年龄160不符合要求

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表