zoukankan      html  css  js  c++  java
  • c++可见性

    常见的三种visibility类型:private ,protected ,public

    c++类中的默认可见性类型是private,c++结构体的默认可见类型是public

    private的意思是,只有这个类才可以读写,使用private类型

    #include<iostream>
    
    class Entity
    {
    private:
        int X;
    public:
        Entity()
        {
            X=0;    
        }
    };//Entity类内的构造函数可以调用Entity内的私有类
    
    class Player : public Entity
    {
    public:
        Player()
        {
            X=0;//不可以,只有Entity本身或Entity的friends才可以访问他的私有类型
            //它的子类也不可以访问
        }
    };

    也不能在函数中直接访问Entity的私有类,比如:

    int main()
    {
        Entity e;
        e.X=1;
    }

    protected的开放程度要略高于private,但是略低于public,他表示这个类本身和它的子类,都可以访问和使用protected,但是除了这个类自己和它的子类,其他都不可以。

    #include<iostream>
    
    class Entity
    {
    protected:
        int X;
    public:
        Entity()
        {
            X=0;    
        }
    };//Entity类内的构造函数可以调用Entity内的保护类
    
    class Player : public Entity
    {
    public:
        Player()
        {
            X=0;//可以,它的子类也可以访问保护类型
        }
    };
    
    int main()
    {
        Entity e;
        e.X=1;//不可以,除了类自己和它的子类,其他时候都不能访问保护类型
        std::cin.get();
    }

    public就是都可以访问了,公有的。在接触代码的时候,可视化类型可以帮助我们清楚地看到,代码中的什么部分是我们有权限使用的(public),有哪些部分是我们不要轻易去动的(private,protected),如果我们在类中的变量或者函数被标上了私有类,那么我们就很清楚,这个标记为私有类的变量或函数我们不能在外面调用它。

  • 相关阅读:
    java并发包——Semaphore(信号量)
    cnblogs
    linux下安装python3及对应的pip环境
    Swing实现AES加密&解密工具升级
    Netty——知识点总结
    RPC——看这一篇就…显然不够
    ORM——Mybatis
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException问题解决
    设计模式分类及常用设计模式
    Java 语言特性【四】——其他
  • 原文地址:https://www.cnblogs.com/wangtianning1223/p/12691361.html
Copyright © 2011-2022 走看看