本文主要是介绍public,private,protected,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自 http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html
#include<iostream>using namespace std;//////////////////////////////////////////////////////////////////////////class A //父类{private:int privatedateA;protected:int protecteddateA;public:int publicdateA;};//////////////////////////////////////////////////////////////////////////class B :public A //基类A的派生类B(共有继承){public:void funct(){int b;b=privatedateA; //error:基类中私有成员在派生类中是不可见的b=protecteddateA; //ok:基类的保护成员在派生类中为保护成员b=publicdateA; //ok:基类的公共成员在派生类中为公共成员}};//////////////////////////////////////////////////////////////////////////class C :private A //基类A的派生类C(私有继承){public:void funct(){int c;c=privatedateA; //error:基类中私有成员在派生类中是不可见的c=protecteddateA; //ok:基类的保护成员在派生类中为私有成员c=publicdateA; //ok:基类的公共成员在派生类中为私有成员}};//////////////////////////////////////////////////////////////////////////class D :protected A //基类A的派生类D(保护继承){public:void funct(){int d;d=privatedateA; //error:基类中私有成员在派生类中是不可见的d=protecteddateA; //ok:基类的保护成员在派生类中为保护成员d=publicdateA; //ok:基类的公共成员在派生类中为保护成员}};//////////////////////////////////////////////////////////////////////////int main(){int a; B objB;a=objB.privatedateA; //error:基类中私有成员在派生类中是不可见的,对对象不可见a=objB.protecteddateA; //error:基类的保护成员在派生类中为保护成员,对对象不可见a=objB.publicdateA; //ok:基类的公共成员在派生类中为公共成员,对对象可见C objC;a=objC.privatedateA; //error:基类中私有成员在派生类中是不可见的,对对象不可见a=objC.protecteddateA; //error:基类的保护成员在派生类中为私有成员,对对象不可见a=objC.publicdateA; //error:基类的公共成员在派生类中为私有成员,对对象不可见D objD;a=objD.privatedateA; //error:基类中私有成员在派生类中是不可见的,对对象不可见a=objD.protecteddateA; //error:基类的保护成员在派生类中为保护成员,对对象不可见a=objD.publicdateA; //error:基类的公共成员在派生类中为保护成员,对对象不可见return 0;}
这篇关于public,private,protected的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!