参考:http://c.biancheng.net/cpp/biancheng/view/2984.html
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
class Basic{
private:
int priData;
protected:
int proData;
public:
int pubData;
};
class PriChild:private Basic{
public:
//编译器报错
//using Basic::priData;
using Basic::proData;
};
class ProChild:protected Basic{
public:
//编译器报错
//using Basic::priData;
using Basic::proData;
};
//没有默认public
class PubChild:Basic{
//class PubChild:public Basic{
public:
using Basic::pubData;
};
int main(int argc, char* argv[])
{
PriChild priChild;
priChild.proData = 1;
cout << "private is ok, change into public and data: " << priChild.proData << endl;
ProChild proChild;
proChild.proData = 2;
cout << "protected is ok, change into public and data: " << proChild.proData << endl;
PubChild pubChild;
pubChild.pubData = 3;
cout << "public is ok, and data: " << pubChild.pubData << endl;
return 0;
}
private is ok, change into public and data: 1
protected is ok, change into public and data: 2
public is ok, and data: 3