C++_访问控制
C++类里面有三种访问权限:private、public、protected
1、类的结构,以及内部成员在不同权限下的理解
注意:要保护类里面的变量成员,需要访问的时候要写一个函数
#include <stdio.h>
class Person { //类名首字母一般大写
private: //私有的
char *name;
int age;
char *work;
public: //公有的
void setName(char *n) //外部可以通过此方法设置名字
{
name = n;
}
int setAge(int a) //加入一定的判断条件才可以设置年龄
{
if (a < 0 || a > 150)
{
age = 0;
return -1;
}
age = a;
return 0;
}
void printInfo(void)
{
printf("name = %s, age = %d, work = %s\n", name, age, work);
}
};
int main(int argc, char **argv)
{
Person per;
//per.name = "zhangsan"; //外部不能直接调用私有成员,否则编译直接报错
per.setName("zhangsan");
per.setAge(200); //设置年龄不在范围之内,会有默认值
per.printInfo();
return 0;
}
2、this->指向当前对象
注意:完善上面的程序
#include <stdio.h>
class Person {
private:
char *name;
int age;
char *work;
public:
void setName(char *name)
{
this->name = name;
}
int setAge(int age)
{
if (age < 0 || age > 150)
{
this->age = 0;
return -1;
}
this->age = age;
return 0;
}
void printInfo(void)
{
printf("name = %s, age = %d, work = %s\n", name, age, work);
}
};
int main(int argc, char **argv)
{
Person per;
//per.name = "zhangsan";
per.setName("zhangsan");
per.setAge(200);
per.printInfo();
return 0;
}