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),如果我们在类中的变量或者函数被标上了私有类,那么我们就很清楚,这个标记为私有类的变量或函数我们不能在外面调用它。

原文链接: https://www.cnblogs.com/wangtianning1223/p/12691361.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    c++可见性

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/341730

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午1:14
下一篇 2023年3月2日 上午1:14

相关推荐