- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c8_类的重用_1
* * * * * * * * * * * * * * * * * * * 例8-3:狗与动物的关系 //Dog.h #include Mammal.h class Dog : public Mammal { public: Dog() { }; ~Dog() { }; MyColor GetColor() {return itsColor;} void SetColor(MyColor color) {itsColor = color;} void Speek() {coutDog language!endl;} private: MyColor itsColor; }; 类的继承 * 例8-3:狗与动物的关系 //8_3.cpp #include Dog.h int main() { Dog dog; dog.SetAge(25); dog.SetWeight(50); dog.SetColor(WHITE); coutdog age = dog.GetAge()endl; coutdog weight = dog.GetWeight()endl; coutdog color = dog.GetColor()endl; dog.Speek(); return 0; }; 类的继承 dog age = 25 dog weight = 50 dog color = 1 dog language! 运行结果: 例8-3:狗与动物的关系 类的继承 * * 不同继承方式的影响主要体现在: 派生类成员对基类成员的访问权限 派生类对象对基类成员的访问权限 3. 继承成员的访问控制 类的继承 * 继承方式 公有继承 基类的public和protected成员的访问属性在派生类中保持不变,作为派生类的的公有和保护成员,但基类的private成员在派生类中不可直接访问。 通过派生类的对象只能访问基类的public成员。 私有继承 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问。 通过派生类的对象不能直接访问基类中的任何成员。 保护继承 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问。 通过派生类的对象不能直接访问基类中的任何成员。 类的继承 * 基类成员在派生类中访问权限 类的继承 基类 派生类 public public protected protected private 不可见 public派生 基类 派生类 public protected protected protected private 不可见 protected派生 基类 派生类 public private protected private private 不可见 private派生 如果派生类定义了与基类同名的成员,称派生类的成员覆盖了基类的同名成员,若要在派生类中使用基类同名成员,可以显式地使用类名限定符: 类名 :: 成员名 * 例:派生继承的例子:公有继承 类的继承 #include iostream using namespace std; class A { private: int x; protected: int y; public: int z; void setx(int i) { x=i; } int getx() { return x; } }; class B:public A { private: int m; protected: int n; public: int p; void setv(int a,int b,int c,int d,int e,int f) { setx(a); y=b; z=c; m=d; n=e; p=f; } void display() { cout“x=“getx()“ “; cout“y=“y“ “; cou
您可能关注的文档
最近下载
- 《七巧板》完整版教学课件.pptx VIP
- 定时交通灯控制设计.pdf VIP
- 浙大中控DCS系统操作规程.doc VIP
- 学校家长安全责任书.docx VIP
- 北师大版小学数学六年级上册第二单元 分数混合运算 基础测试题.doc VIP
- 2025至2030中国食用油行业运营态势与投资前景调查研究报告.docx VIP
- 10.3 合同的变更、转让、解除和终止(政策与法律法规 第7版).pptx VIP
- 儿童肺炎支原体肺炎诊疗指南2025年版解读PPT课件.pptx VIP
- 深圳初一数学下学期期中模拟测试题(带答案).pdf VIP
- 2023年春国开(甘肃)《个人理财》形考任务1-4题库.docx
文档评论(0)