| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:[求助]关于派生
只看楼主 加入收藏
王崇
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-11-23
收藏
 问题点数:0 回复次数:4 
[求助]关于派生
定义一个Shape抽象类,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积,GetPerim()函数计算对象的周长。
搜索更多相关主题的帖子: 派生 
2006-12-26 22:37
lrgsz
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-27
收藏
得分:0 
怎么了,Sharp不能定义对象,Rentangle和Circle是从Sharp派生出来的类,是具体的类可以定义自己的对象!

学习如逆水行舟,不进则退!
2006-12-26 23:51
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
Shape 类定义虚函数
virtual GetArea()
virtual GetPerim()
在派生类中,定义各自的GetArea()和GetPerim()

2006-12-27 08:49
王崇
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-11-23
收藏
得分:0 

#include<iostream.h>

#include<math.h>

class shape

{ public:

virtual void getarea()=0;

virtual void getperim()=0;

};

class rectangle:public shape

{ int a,b,c;

double s,p;

public:

rectangle(int a1,int b1,int c1) {a=a1;b=b1;c=c1;}

void getperim()

{ p=a+b+c; cout<<"周长 "<<p<<endl;}

void getarea()

{ p=(a+b+c)/2.0;

s=sqrt(p*(p-a)*(p-b)*(p-c));

cout<<"面积 "<<s<<endl;

}

};

class circle :public shape

{ float r,s,p;

public:

circle(float r1) {r=r1;}

void getperim() { p=2*r*3.1415926;cout<<"周长 "<<p<<endl;}

void getarea() { s=r*r*3.1415926; cout<<"面积 "<<s<<endl;}

};

void show(shape *p)

{ p->getarea();

p->getperim();

}

void main()

{ shape *p;

rectangle a(3,4,5);

circle b(10);

p=&a; show(p);

p=&b; show(p);

}
我做的对么???


2006-12-27 09:09
pusawl
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-12-14
收藏
得分:0 
正确,不过注意书写格式

2006-12-27 13:53
快速回复:[求助]关于派生
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024848 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved