第10.11周项目 继承和派生(补充)2
2016-05-15 23:06
239 查看
问题及代码:
运行结果:
会有编译错误
B类继承A类的方式为保护继承,所以A中的公有成员在B中就成了保护成员,在类外是不能被访问的
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:李一波 * 完成日期:2016年5月15日 * 版本号:vc++6.0 * * 问题描述: * 输入描述: * 程序输出: */ #include<iostream> using namespace std; class A { private: int x; protected: int y; public: int z; A(int a,int b,int c) { x=a; y=b; z=c; } int Getx() {return x; } int Gety() {return y; } void ShowA() { cout<< "x="<<x<<'\t'; cout<<"y="<<y<<'\t'; cout<<"z="<<z<<'\n'; } }; class B:protected A //修改点(见后面阅读要求) { private: int m,n; public: B(int a,int b,int c,int d,int e):A(a,b,c) { m=d; n=e; } void Show() { cout<<"m="<<m<<'\t'<<"n="<<n<<'\n'; cout<<"x="<<Getx()<<'\t'; cout<<"y="<<y<<'\t'<<"z="<<z<<'\n'; } int Sum() { return (Getx()+y+z+m+n); } }; int main() { B b1(1,2,3,4,5); b1.ShowA(); b1.Show(); cout<< "Sum="<<b1.Sum()<<'\n'; cout<<"x="<<b1.Getx()<<'\t'; cout << "y=" <<b1.Gety()<<'\t'; cout << "z="<<b1.z<<'\n'; return 0; }
运行结果:
会有编译错误
B类继承A类的方式为保护继承,所以A中的公有成员在B中就成了保护成员,在类外是不能被访问的
相关文章推荐
- 部分排序算法python实现
- django教程:django后台很巧妙的技巧
- QDialog对话框中show()和exec()
- 手机开发实战18——GPRS移动台分类
- Android 撕开美女衣服解析
- pthread_exit()
- poj题目分类
- 基于Java的Heritrix爬取网页
- [dts]Device Tree机制
- APP开发实战18-TCP/IP协议简介
- HDU--1003Max Sum
- gflags调试工具
- Android native 安全防护之 防劫持
- Intellij IDEA下的第一个Hibernate项目
- uva1603
- pthread_create()
- #include<bits/stdc++.h>
- Edge Boxes论文浅读和EdgeBoxes Matlab代码功能函数浅析
- html css 优酷客户端视频界面仿写 rem swiper flex使用
- Java虚拟机详解----GC算法和种类【重要】