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

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++中的就近原则。

posted @ 2017-07-20 09:46  lkq1220  阅读(213)  评论(0编辑  收藏  举报