成员属性设置为私有

成员属性设置为私有

  • 优点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;
}

欢迎微信公众号

C/C++基础 文章被收录于专栏

本专栏收录C/C++编程语言相关知识

全部评论

相关推荐

在打卡的大老虎很想潜...:你在找实习,没啥实习经历,技术栈放前面,项目多就分两页写,太紧凑了,项目你最多写两个,讲清楚就行,项目背景。用到的技术栈、亮点、难点如何解决,人工智能进面太难了,需求少。你可以加最新大模型的东西
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务