C++第二篇--访问控制
1. 引入
上一篇博文中从结构体引到了类,类当中不仅有数据成员还有一些函数,这些函数被称为成员函数。今天介绍新的内容,类当中的访问控制。
2. 访问控制
当你不添加任何声明,比如public,那类中默认是private权限,C++中有三种访问权限:
- public: 类外的程序可以使用
- private:只供类内部的函数使用
- protect:可以被派生类访问,不可以被类外访问,后面会细说
3. 访问控制代码
我们为了不随意更改类中的变量,便将数据成员设置为私有,封闭起来,提供公有的成员函数接口供类外部设置数据。
Person.cpp
#include 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++中的就近原则。