#include<iostream>
//template<class T>
using namespace std;
class father{
char data;
father(char data){
this->data=data;
}
public :father(){//private编译不通过,禁止继承和实例化
}
father(const father& c){
}
~father(){
}
public :void publicprint(){
cout<<data;
}
private: void privateprint(){
cout<<data;
}
protected: void protectedprint(){
cout<<data;
}
};
class publicson:public father{
public :publicson(){//(默认)构造函数为私有的话,编译报错、无法构造
publicprint();
//privateprint();// 无法访问父类私有方法。of course
protectedprint();
}
};
class privateson:private father{
public: privateson(){
publicprint();
//privateprint(); //只对这个由报错。继承方式只对外部有作用,只有在实例访问是起作用。
protectedprint();
}
};
class protectson:protected father{
public: protectson(){
publicprint();
privateprint();//就是上边的结果,private、protected,public继承方式只对实例起访问控制。
protectedprint();
}
};
int main(){
publicson ps;
ps.publicprint();
//访问控制private、protected 只有自己定义内部可以访问
//ps.privateprint();
//ps.protectedprint();
privateson is;
//全部成为son的private部分
//是无法通过对象访问的
//is.publicprint();
//is.privateprint();
//is.protectedprint();
protectson ts;
//以实例的角度,private,protected 继承是没有区别的
//ts.publicprint();
//ts.privateprint();
//ts.protectedprint();
}
//template<class T>
using namespace std;
class father{
char data;
father(char data){
this->data=data;
}
public :father(){//private编译不通过,禁止继承和实例化
}
father(const father& c){
}
~father(){
}
public :void publicprint(){
cout<<data;
}
private: void privateprint(){
cout<<data;
}
protected: void protectedprint(){
cout<<data;
}
};
class publicson:public father{
public :publicson(){//(默认)构造函数为私有的话,编译报错、无法构造
publicprint();
//privateprint();// 无法访问父类私有方法。of course
protectedprint();
}
};
class privateson:private father{
public: privateson(){
publicprint();
//privateprint(); //只对这个由报错。继承方式只对外部有作用,只有在实例访问是起作用。
protectedprint();
}
};
class protectson:protected father{
public: protectson(){
publicprint();
privateprint();//就是上边的结果,private、protected,public继承方式只对实例起访问控制。
protectedprint();
}
};
int main(){
publicson ps;
ps.publicprint();
//访问控制private、protected 只有自己定义内部可以访问
//ps.privateprint();
//ps.protectedprint();
privateson is;
//全部成为son的private部分
//是无法通过对象访问的
//is.publicprint();
//is.privateprint();
//is.protectedprint();
protectson ts;
//以实例的角度,private,protected 继承是没有区别的
//ts.publicprint();
//ts.privateprint();
//ts.protectedprint();
}