6.13
来源:互联网 发布:手写笔绘画软件 编辑:程序博客网 时间:2024/05/17 12:23
#include<iostream>using namespace std;class Base{protected:double h;public:virtual void disp(){} //虚函数dispBase(){}Base(double h1) {h=h1;}};class Cuboid:public Base //定义长方体派生类{private:double w,l;public:Cuboid(double a=0,double b=0,double h=0):Base(h){l=a;w=b;}void disp(){cout<<"长方体:"<<endl;cout<<"长:"<<l<<"\t宽:"<<w<<"\t高:"<<h<<endl;cout<<"长方体的体积="<<w*l*h<<endl;}};class Cylinder:public Base //定义圆柱体派生类{private:double r;public:Cylinder(double c=0,double h1=0):Base(h1){r=c;}void disp(){cout<<"圆柱体:"<<endl;cout<<"半径:"<<r<<"\t高:"<<h<<endl;cout<<"圆柱体的体积="<<r*r*h*3.14<<endl;}};int main(){Base *pc;Cuboid Cu(6,8,20);Cylinder Cy(3,7);pc=&Cu;pc->disp();pc=&Cy;pc->disp();return 0;}
编译过程中出现error C2248: 'h' : cannot access private member declared in class 'Base的错误提醒,原因是把基类中的保护成员写成了私有成员,导致派生类无法访问成员中的数据。这是由于自己对类的继承方式的不熟练,在翻阅书本后,现已改正编译错误,成功运行。
0 0
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13
- 6.13累
- 练习6.13
- C++中cout和cerr的区别?
- Git Community Book 中文版
- linux格式的U盘挂载了,但是打不开问题
- Android NFC APDU
- Java IO基础知识(上)
- 6.13
- Android 沉浸式状态栏效果(状态栏与内容完全融合、类似于iphone 7.0系统)
- 黑马程序员--面向对象
- css3 gradient 详解
- SQL SELECT 子语句使用顺序
- 几个免费的DNS地址
- 遮罩层
- 欢迎使用CSDN-markdown编辑器
- oracle 在pl/sql能够手动修改数据