C++面向对象:成员属性的私有化
Posted Zeker62
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++面向对象:成员属性的私有化相关的知识,希望对你有一定的参考价值。
成员属性私有化
- 优点1:将成员属性设置为私有,可以自己控制读写权限
- 优点2:对于写权限,我们可以检测数据的有效性。
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
//写姓名,设置姓名,让姓名可读可写
void setName(string n)
{
name = n;
}
// 读姓名(获取姓名)
string getName()
{
return name;
}
// 年龄可读
int getAge()//可读可写,如果想修改,年龄的范围必须是0~15
{
age = 0; //初始化年龄
return age;
}
//设置年龄
void setAge(int a){
if(age<0 || age>150){
cout<<"age is error"<<endl;
return ;
}
age=a;
}
//lover只写
void setLover(string l)
{
lover = l;
}
private: //设置之后无法拿到权限
string name;
int age; //只读
string lover; //只写
};
int main()
{
Person p;
p.setName("zhangsan");
cout << "name is: " << p.getName() << endl;
cout << "age is " << p.getAge() << endl;
p.setLover("aaaa"); //无法通过外界获取
system("pause");
return 0;
}
成员属性的私有化能够防止数据被不小心篡改。
但是要想使用私有化属性就必须使用公有化的方法,而且公有化的方法必须在类里面撰写。
以上是关于C++面向对象:成员属性的私有化的主要内容,如果未能解决你的问题,请参考以下文章
python 面向对象专题:私有成员类方法静态方法属性isinstance/issubclass