公有的、私有的、受保护的继承

来源:互联网 发布:杰科网络电视机顶盒r1 编辑:程序博客网 时间:2024/04/30 14:30
#include <iostream>using namespace std;class A{public:  // 共有的,A(){a = 9;b = 8;c = 7;}int a;int a2;protected:   // 受保护的,int b;private:    // 私有的,int c;};class B1 : public A   // 类B1继承了公有的A,{public:void test(){cout << a << endl;cout << b << endl;}};class C : public B1{public:void test(){cout << a << endl;cout << b << endl;}};class B2 : private A{public:using A::a2;  // 这个是将私有的a2变成公有的,这种方法就是修改继承访问去除个别成员,void test(){cout << a << endl; // 这里的a变成私有的,cout << b << endl;} // 这里继承的是A里边的公有的和受保护的,并将其变成私有的,所以在B2中A的数据(a、b)就是私有的,};class B3 : protected A{public:void test(){cout << a << endl; // 这里的a变成受保护的,cout << b << endl; // 这里的b变成受保护的,}};//公有继承是接口继承,私有继承和受保护继承是实现继承,公有继承是最长用的,class B4 : A    // 默认的是private,{};struct B5 : A  // 默认的是公有的,public{};int main(){B1 b1;cout << b1.a << endl;b1.test();    cout << endl;B2 b2;b2.test();cout << endl;B3 b3;b3.test();cout << endl;return 0;}

0 0
原创粉丝点击