类的成员三种权限
1.public:成员在类内可以访问,类外可以访问;
2.protected:成员在类内可以访问,类外不可以访问,儿子可以访问父亲中的保护成员;
3.private:成员在类内可以访问,类外不可以访问,儿子不可以访问父亲的私有成员;
#include <iostream>
using namespace std;
class Persion{
public:
string m_Name;/* 公有成员,类内、类外都可以访问*/
protected:
string m_Car;/* 保护成员,类内可以访问,类外不可以访问 */
private:
string m_Passwd;/* 私有成员,类内可以访问,类外不可以访问 */
int m_age;
public:
void setValue(int age) /* 三种权限成员,在类内都可以访问 */
{
m_Name="zhangsan";
m_Car = "法拉利";
m_Passwd = "123456";
if (age>150)
{
cout<<"老妖怪"<<endl;
m_age = age-100;
}
}
};
int main()
{
Persion p1;
p1.m_Name="lisi";
//p1.m_Car = "拖拉机";//类外不可以访问
//p1.m_Passwd="666666";//类外不可以访问
//由于成员m_Passwd属性是私有的,类外不能访问,但类中公有函数可以进行访问,根据对象调用公有函数实现间接访问
p1.setValue(100);
return 0;
}
struct 默认权限是:public
class 默认权限是:private
成员属性设置私有
优点1:将所有成员设置私有,可以直接控制读写权限;
优点2:由于写权限,可以检测数据的有效性;