示例:对属性和行为加以权限限制
#include<iostream>
#include<string>
using namespace std;
class person
{
public :string m_name;//姓名
protected:string m_car;//汽车
private :int m_password;//银行卡密码
public:void func(){m_name = "张三";m_car = "卡车";m_password = 123;}
};
int main()
{//实例化对象person p1;p1.m_name = "李四";p1.func();system("pause");return 0;
}
1、struct 和class 区别
在C++中struct和class唯一的区别就在于默认的访问权限不同。
示例:
#include<iostream>
#include<string>
using namespace std;
class c1 {int m_a;//默认权限是私有
};
struct c2
{int m_a;//默认权限为公共
};
int main()
{c1 c1;c1.m_a = 10;c2 c2;c2.m_a = 100;system("pause");return 0;
}
结果:
2、成员属性设置为私有
优点一:将所有成员属性设置为私有,可以自己控制读写权限。
优点二:对于写权限,我们可以检测数据的有效性.
示例:
#include<iostream>
#include<string >
using namespace std;class person
{
public ://设置姓名void setName(string name){m_Name = name;}string getName(){return m_Name;}//设置偶像void setIdol(string idol){m_idol = idol;}
private:string m_Name;//姓名 可读可写int m_age;//年龄 只读string m_idol;//偶像 只写
public://检测数据的有效性//设置年龄:0~150岁void setAge(int age){if (age < 0 || age>150){cout << "年龄输入有误,赋值失败" << endl;}m_age = age;}
};