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

  • 相关阅读:
    [Trie][并查集]JZOJ 5822 量子纠缠
    [模拟]JZOJ 5820 非法输入
    SAM模板
    [树形DP]JZOJ 5819 大逃杀
    [MST][dij]JZOJ 5818 做运动
    [暴力]JZOJ 5817 抄代码
    [概率期望][树形DP][LCA]JZOJ 5814 树
    认证组件
    注册接口
    视图家族 & 路由组件
  • 原文地址:https://www.cnblogs.com/lkq1220/p/7209502.html
Copyright © 2020-2023  润新知