4.1.3 成员属性设置为私有
优点1:将所有成员属性设置为私有,可以自己控制读写权限
优点2:对于写权限,我们可以检测数据的有效性
cpp
#include<iostream>
using namespace std;
/*4.1.3 成员属性设置为私有
优点1:将所有成员属性设置为私有,可以自己控制读写权限
优点2:对于写权限,我们可以检测数据的有效性*/
//人类
class Person
{
public:
//设置姓名
void setName(string name)
{
m_Name = name;
}
//获取姓名
string getName()
{
return m_Name;
}
//获取年龄
int getAge()
{
return m_Age;
}
//设置年龄(0-150)
void setAge(int age)
{
if (age < 0 || age>150)
{
cout << "年龄"<<age<< " 输入有误, 赋值失败" << endl;
return;
}
m_Age= age;
}
//设置偶像
void setIdol(string idol)
{
m_Idol = idol;
}
private:
string m_Name;//可读可写
int m_Age =18;//只读 也可以写(年龄必须在0-150)
string m_Idol;//只写
};
int main()
{
Person p;
//姓名设置
p.setName("张三");
cout << "姓名: " << p.getName() << endl;
//年龄设置
p.setAge(160);
//获取年龄
cout << "年龄: " << p.getAge() << endl;
//偶像设置
p.setIdol("坤哥");
//cout << "偶像: " << p.getIdol() << endl;//只写, 外界无法访问
system("pause");
return 0;
}
运行结果:
可以看到检测到年龄160不符合要求