C++ 类 访问限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 类 访问限制相关的知识,希望对你有一定的参考价值。

技术分享
/*
    基类定义以下三种类型的成员变量:
        public: 基类和派生类对象都可以访问
        protected: 基类和派生类的对象都不可以访问,可以在各自的成员函数中访问
        private: 基类和派生类对象都不可以访问,派生类不可以在其成员函数中访问
 */
#include <iostream>

using namespace std;

class Item_base
{
public:
    int a;
private:
    int b;
protected:
    int c;
};

class Bulk_item : public Item_base
{
public:
    void init(Item_base& item)
    {
        a = 2;
        //b = 2;  //error private
        c = 2;    //ok protected
        item.a = 1;
        //item.b = 1; //error private
        //item.c = c * 3; //error protected
    }
};

int main()
{
    Item_base item;
    item.a = 1;
    //item.b = 1;  //error private
    //item.c = 1;  //error protected
    Bulk_item bulk_item;
    bulk_item.init(item);
    bulk_item.a = 2;
    //bulk_item.c = 2; //error protected 
    //bitem.b = 2;  //error private
    return 0;
}
View Code

 

以上是关于C++ 类 访问限制的主要内容,如果未能解决你的问题,请参考以下文章

C++:有没有办法在不暴露其他私有成员的情况下限制对某些类的某些方法的访问?

关于C++类成员访问权限的理解

在 C++ 成员函数中使用“静态”关键字限制访问

线程-使用SimaphoreSlim类

java知识28 Java封装多测师

VS 2010 中的 C++ 调试访问冲突