C++第二篇--访问控制

时间:2022-12-26 12:02:40

C++第二篇--访问控制

1. 引入

上一篇博文中从结构体引到了类,类当中不仅有数据成员还有一些函数,这些函数被称为成员函数。今天介绍新的内容,类当中的访问控制。

2. 访问控制

当你不添加任何声明,比如public,那类中默认是private权限,C++中有三种访问权限:

  • public: 类外的程序可以使用
  • private:只供类内部的函数使用
  • protect:可以被派生类访问,不可以被类外访问,后面会细说

3. 访问控制代码

我们为了不随意更改类中的变量,便将数据成员设置为私有,封闭起来,提供公有的成员函数接口供类外部设置数据。

Person.cpp
#include <stdio.h>

class Person{
private:
char *name;
char age;
char *work; public:
void setName(char *name){
this->name = name; //this->,指向当前对象
} int setAge(int age){
if(age<0 || age>120){
this->age = 0;
//return -1;
}
else
{
this->age = age;
}
return age;
}
void setWork(char *work){
this->work = work;
}
void printInfo(void)
{
printf("name is %s,age is %d,work is %s\n",name,age,work);
}
}; int main(int argc,int **arcv)
{
Person per;
per.setName("LKQ");
per.setAge(20);
per.seyWrok("Student");
per.printInfo(); return 0;
}

3. 补充

上文成员函数中name,age,work代表的是setName、setAge、setWork函数传递进来的参数,而不是class中的变量,因为在c语言和C++中的就近原则。