/* 基类定义以下三种类型的成员变量: 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; }