成员属性设置为私有
优点1:将所有成员属性设置为私有,可以自己控制读写权限
#include<iostream>
#include<string>
using namespace std;
//定义人类
class Person{
public:
//设置姓名
void setName(string a){
name = a;
}
//获取姓名
string getName(){
return name;
}
//设置年龄
void setage(int b){
age = b;
}
//获取年龄
int getage(){
return age;
}
//设置地址
void setAddress(string c){
address = c;
}
//获取姓名
string getAddress(){
return address;
}
//成员属性设置为私有
private:
string name;
int age;
string address;
};
int main() {
Person P1;
P1.setName("MENG");
cout << "这个人的名字为:" << P1.getName() << endl;
P1.setage(18);
cout << "这个人的年龄为:" << P1.getage()<< endl;
P1.setAddress("河南");
cout << "这个人的地址为:" << P1.getAddress() << endl;
system("pause");
return 0;
}
运行结果:
优点2:对于写权限,我们可以检测数据的有效性
如果年龄超过150岁,我们就认为数据无效
#include<iostream>
#include<string>
using namespace std;
//定义人类
class Person{
public:
//设置姓名
void setName(string a){
name = a;
}
//获取姓名
string getName(){
return name;
}
//设置年龄,如果想修改年龄,范围在0-100之间
void setage(int b){
if ((b >= 0) && (b <= 150)){
age = b;
}
else
{
cout << "输入年龄无效,请重新输入" << endl;
}
}
//获取年龄
int getage(){
return age;
}
//设置地址
void setAddress(string c){
address = c;
}
//获取姓名
string getAddress(){
return address;
}
//成员属性设置为私有
private:
string name;
int age;
string address;
};
int main() {
Person P1;
P1.setName("MENG");
cout << "这个人的名字为:" << P1.getName() << endl;
P1.setAddress("河南");
cout << "这个人的地址为:" << P1.getAddress() << endl;
cout << "请输入年龄" << endl;
int d;
cin >> d;
P1.setage(d);
cout << "这个人的年龄为:" << P1.getage() << endl;
system("pause");
return 0;
}
运行结果: