200分寻个高手在线求助电脑高手C++问题

查看:1591|回复:16
1,定义抽象类point,含有纯虚函数area()。
2,定义point的派生类locetion包含私有成员x,y 公有成员:构造和析构函数,求面积函数area()和位置信息函数get_x()和get_y。
3,定义locetion的派生类circle,包涵私有成员radius和公有成员函数:构造和析构函数,求面积函数area()调用基类函数球的位置信息。
4,定义locetion的派生类rectangle,包涵私有成员high,wide和公有成员函数:构造和析构函数求面积函数area()
5,由circle类派生出圆柱体类型lylinder,定义构造和析构函数,求表面积面积函数area(),调用基类函数求的位置信息
6,编写主函数验证类设计的合理性
在线等。。急急急,求助求助!
杜绝一切不加思索的提问,
有什么不明白可以提问,
或者 自己编写,我们给予修改
只有你爬到山顶了,这座山才会支撑着你。
主要真的什么都不会,我真的很想找个人从这道题开始一部部讲解一下。。:'(
答题框架,剩下自己一边查书,一边学习吧复制内容到剪贴板代码:class point
& && & virtual&&double area()=0;
class locetion:public point
& && &&&locetion()//构造函数
& && && && && & ,,,,,,,,,
& && &&&~locetion()//析构函数
................
& && &&&double area()
class circle:public locetion
& && &&&构造
& && && && && & 析构
& && && && && & double area()
class lylinder:public rectangle
& && &&&构造//析构//area
本帖最后由 月夜幻影 于
14:49 编辑
只有你爬到山顶了,这座山才会支撑着你。
请问能加您QQ请教一下么。。。一部一部
论坛 我每天都会上的
你随时都可以问
PS:这个你真要认真看了 很快就可以完成
就涉及到构造函数和析构函数,外加一个area;
框架都给你列出来了
只有你爬到山顶了,这座山才会支撑着你。
我想知道你有没看过C++基础的。
复制内容到剪贴板代码:#include &iostream&
class point
virtual float area()=0;
class locetion:public point
locetion(float x,float y){length=x;width=y;}
float area(){return length*}
class circle:public point
circle(float x){radius=x;}
~circle();
float area(){return radius*radius*3.14;}
class rectangle:public point
rectangle(float x,float y){length=x;width=y;}
float area(){return length*width/2;}
class lylinder:public point
lylinder(float x,float h){radius=x;high=h;}
float area(){return radius*radius*3.14*}
int main()
point *p1;
bool quit=
cout&&&(1)正方体(2)圆(3)三角形(4)圆柱体(5)退出&&&
switch(choice)
case 1:p1=new locetion(5.0,9.0);
cout&&&正方形的面积为:&&&p1-&area()&&
case 2:p1=new circle(6.0);
cout&&&圆形的面积为:&&&p1-&area()&&
case 3:p1=new rectangle(3.0, 6.0);
cout&&&三角形的面积为:&&&p1-&area()&&
case 4:p1=new lylinder(7.0,8.0);
cout&&&圆柱体的面积为:&&&p1-&area()&&
case 5:quit=
default:cout&&&请输入1至5之间的数&&&
if(choice&1&&choice&5)
delete p1;
}//这里我全部是继承基类的。继承派生类的,其实就是为了初始化参数,但是参数的个数总不一样,导致编译器老报错说什么构造函数不匹配;求各位高手帮忙改成题目要求。。。
本帖最后由 月夜幻影 于
14:04 编辑
前几天又满课,没得学了。。现在是从头看起了,不过感觉还是很远的感觉。我再研究一下
刚开始看。。。
你比我好多了。我是完全写不出东西
引用:原帖由 qx5201314 于
09:54 发表
class point
virtual float area()=0;
class locetion:public point
locetion(float x,float y){length=x;width=y;}
float area(){return length*}
pr ... return radius*radius*3.14*high
因为3.14为double型,所以 radius*radius*3.14*high为double型;
返回结果为float,结果不精确,float有效位少于double;
float均改为double 就可以了
本帖最后由 月夜幻影 于
14:40 编辑
只有你爬到山顶了,这座山才会支撑着你。
引用:原帖由 lianzai06 于
13:49 发表
你比我好多了。我是完全写不出东西 还是自己好好学吧
这样的问题
大部分论坛 都不会给别人做作业的;
这次你就多谢你楼上吧。
只有你爬到山顶了,这座山才会支撑着你。
这这题目写的并怎么明了;
只是凭感觉写了下复制内容到剪贴板代码:#include &iostream&
class point
& & & & virtual double area()=0;
class locetion:public point
& & & & locetion(double x_loc=0.0,double y_loc=0.0){x=x_y=y_}
& & & & virtual double area(){return 0;}
& & & & double get_x()
& & & & & & & &
& & & & double get_y()
& & & & & & & &
& & & & ~locetion(){}
class circle:public locetion
& & & & circle(double x,double y):radius(x,y){}
& & & & ~circle(){};
& & & & double area(){return (pow(radius.get_x(),2)+pow(radius.get_y(),2))*3.14;}
class rectangle:public locetion
& & & & rectangle(double x1,double y1)
& & & & & & & & :length(x1,0),width(0,y1){}
& & & & double area(){return length.get_x()*width.get_y();}
class lylinder:public circle
& & & & lylinder(double x,double y,double z):circle(x,y),high(0,z){}
& & & & double area(){return circle::area()*high.get_y();}
int main()
& & & & point *p1;
& & & & bool quit=
& & & & while(1)
& & & & & & & & cout&&&(1)圆(2)矩形(3)圆柱体(4)退出&&&
& & & & & & & & cin&&
& & & & & & & & switch(choice)
& & & & & & & & {
& & & & & & & & case 1:p1=new circle(6.0,7.0);
& & & & & & & & & & & & cout&&&圆形的面积为:&&&p1-&area()&&
& & & & & & & & case 2:p1=new rectangle(3.0, 6.0);
& & & & & & & & & & & & cout&&&三角形的面积为:&&&p1-&area()&&
& & & & & & & & case 3:p1=new lylinder(7.0,8.0,9.0);
& & & & & & & & & & & & cout&&&圆柱体的面积为:&&&p1-&area()&&
& & & & & & & & case 4:quit=
& & & & & & & & default:cout&&&请输入1至5之间的数&&&
& & & & & & & & }
& & & & & & & & if(choice&1&&choice&4)
& & & & & & & & {
& & & & & & & & & & & & delete p1;
& & & & & & & & }
& & & & & & & & if(quit)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & }
& & & & return 0;
只有你爬到山顶了,这座山才会支撑着你。
学习了,原来是这么初始化参数的!可是我复制你的代码在运行时报错,说pow没定义....
本帖最后由 qx5201314 于
20:59 编辑
#include&cmath&
只有你爬到山顶了,这座山才会支撑着你。
提示: 作者被禁止或删除 内容自动屏蔽C++中的继承的有关问题想请问下高手!(本人一直在线,请快点,比较急多谢了!) - C++当前位置:& &&&C++中的继承的有关问题想请问下高手!(本人一直在线,C++中的继承的有关问题想请问下高手!(本人一直在线,请快点,比较急多谢了!)&&网友分享于:&&浏览:2次C++中的继承的问题想请教下高手!(本人一直在线,请快点,比较急,谢谢了!)在一个头文件中定义基类,同时在同一个文件下定义其继承的类#ifndef J_H& #define J_Hclass J{声明一些函数及变量如int insert();};class extended_J:public J{再声明一些函数及变量如:int output();}#endif//这里的位置有错吗?下面我有在CPP中定义上述的函数如:int J::insert(){}...int extended_J::output(){}//以上这样的形式有错吗?//还有,我下面的output()可不可以直接调用上面的input()//如果能的话,那应该怎么做,请大家帮下忙!!------解决方案--------------------可以,公有继承时,基类的东西都能访问。既,基类的东西就是派生类的,可以直接用。。
------解决方案--------------------//以上这样的形式有错吗?& 可以//还有,我下面的output()可不可以直接调用上面的input()& //如果能的话,那应该怎么做,请大家帮下忙!!若要在output里直接调用input,必须将input设为public或protected
------解决方案--------------------好像没啥错。父类的public和protected成员子类都可以直接访问。
------解决方案--------------------可以
------解决方案--------------------C/C++ code
#ifndef J_H
#define J_H
声明一些函数及变量
int insert();
class extended_J:public J
再声明一些函数及变量
int output();
// &--这里需要一个分号
#endif//这里的位置有错吗?
下面我有在CPP中定义上述的函数
int J::insert()
int extended_J::output()
------解决方案--------------------哦,很好
------解决方案--------------------1楼说的有问题
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有计算机显卡问题高手来`在线等 50分来自:
日分享至 :
开机离开回来时屏幕是30分钟自动关闭``突然发现显卡风扇不转了```我一开显示器转了```然后没注意`接着玩3D游戏```屏幕出现一闪一闪的现象``我关机``拔下显卡 ``发现显卡超烫``接着用卫生纸包着放冰箱``凉了``再查上``开始黑屏```是不是显卡烧了``还是有短路的地方 高手速度啊分享至 :
下一篇:上一篇:其它类似问题相关文章相关帖子--计算机显卡问题高手来`在线等 50分

我要回帖

 

随机推荐