欢迎来到天天文库
浏览记录
ID:32407788
大小:56.50 KB
页数:8页
时间:2019-02-04
《关于继承的一些解释和例子》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、对继承的讨论1.继承的形式和继承的原理class派生类名:继承方式基类名{成员声明;};上面是继承的形式。当继承发生后,可以认为派生类拥有了基类的成员。例:classA{public:inti;voidshow(){cout<
2、为类B拥有了类A的所有,也就是B中拥有了来自A的i和voidshow()函数。b.m;b.i;b.show();b.print();都是对的。因为b是B类型的对象,所以b拥有了A和B的所有成员。2.关于继承方式(上面的红字部分)继承方式有三种,分别是public,private,protected。我们认为private为最严格的限制级别,认为protected为中等的限制级别,认为public为宽松的限制。当继承发生时,我们可以认为父类的成员(无论成员函数还是数据成员)会迁移一份到子类。父类的成员也拥有访问的级别,这些级别也是
3、由public,private,protected来说明的。如果继承,则父类中的成员迁移至子类。父类成员迁移至子类成员时,访问级别以父类和继承方式中更严的为准。Ø派生类对基类成员的使用,与继承访问控制和基类中成员性质有关Ø公有继承基类的公有成员è派生类的公有成员基类的保护成员è派生类的保护成员Ø私有继承基类的公有成员和保护成员è派生类的私有成员8Ø保护继承基类的公有成员和保护成员è派生类的保护成员公有继承classA{private:intm;voidprint_private(){cout<<”private”<4、protected:intn;voidprint_protected(){cout<<”protected”<5、m;voidprint_private(){cout<<”private”<6、lic下的成员,通过public下的成员函数可以访问protected下的成员,??.但是,来自A的private成员必须用来自A的成员函数来访问。也就是function可以激活除去m和print_private()的剩下的所有内容,因为m和print_private()是A(也就是父类)的私有的成员。保护继承classA{private:intm;voidprint_private(){cout<<”private”<7、ected”<8、rint_private(){cout<<”private”<
4、protected:intn;voidprint_protected(){cout<<”protected”<5、m;voidprint_private(){cout<<”private”<6、lic下的成员,通过public下的成员函数可以访问protected下的成员,??.但是,来自A的private成员必须用来自A的成员函数来访问。也就是function可以激活除去m和print_private()的剩下的所有内容,因为m和print_private()是A(也就是父类)的私有的成员。保护继承classA{private:intm;voidprint_private(){cout<<”private”<7、ected”<8、rint_private(){cout<<”private”<
5、m;voidprint_private(){cout<<”private”<6、lic下的成员,通过public下的成员函数可以访问protected下的成员,??.但是,来自A的private成员必须用来自A的成员函数来访问。也就是function可以激活除去m和print_private()的剩下的所有内容,因为m和print_private()是A(也就是父类)的私有的成员。保护继承classA{private:intm;voidprint_private(){cout<<”private”<7、ected”<8、rint_private(){cout<<”private”<
6、lic下的成员,通过public下的成员函数可以访问protected下的成员,??.但是,来自A的private成员必须用来自A的成员函数来访问。也就是function可以激活除去m和print_private()的剩下的所有内容,因为m和print_private()是A(也就是父类)的私有的成员。保护继承classA{private:intm;voidprint_private(){cout<<”private”<7、ected”<8、rint_private(){cout<<”private”<
7、ected”<8、rint_private(){cout<<”private”<
8、rint_private(){cout<<”private”<
此文档下载收益归作者所有