| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:C++简单的问题
只看楼主 加入收藏
cwl168
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2012-12-14
结帖率:8.33%
收藏
 问题点数:0 回复次数:6 
C++简单的问题
#include <iostream>
#include <cmath>
using namespace std;


class Shape
{
public:
    virtual Shamename() const=0;
    virtual area() const=0;
};


class Circle:public Shape
{
public:
    Circle(double r):radius(r) {}
    virtual Shamename() {cout<<"Circle:"<<endl;}
    virtual double area(){return 3.1415926*radius*radius;}
protected:
    double radius;
};
class Rectangle:public Shape
{
public:
    Rectangle(double a,double b):length(a),with(b) {}
    virtual Shamename(){cout<<"Rectangle:"<<endl;}
    double area() {return length*with;}
protected:
    double length,with;
};
class Triangle:public Shape
{
public:
    Triangle(double a,double b,double c):bord1(a),bord2(b),bord3(c) {}
    virtual Shamename(){cout<<"Rectangle:"<<endl;}
    double area()
    {
        double s=(bord1+bord2+bord3)/2;
        return sqrt(s*(s-bord1)*(s-bord2)*(s-bord3));
    }
protected:
    double bord1,bord2,bord3;
};
void printArea(const Shape &s)
{
    cout<<s.Shamename()<<endl;
    cout<<s.area()<<endl;
}
void main()
{
      Circle c1(2);
      printArea(c1);
}
错在哪里啊
搜索更多相关主题的帖子: include public double 
2013-01-09 21:25
tsyking
Rank: 2
等 级:论坛游民
帖 子:23
专家分:50
注 册:2007-6-12
收藏
得分:0 
子类重载也要加上const

  www . vckf  .net   专业的VC开发网站
2013-01-09 22:39
liqingqinger
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:69
专家分:163
注 册:2013-1-2
收藏
得分:0 
亲 俺咋觉得一点都布简单啊

求布喷。。。
我是菜鸟。。。。。
2013-01-09 22:52
smile康师傅
Rank: 2
等 级:论坛游民
帖 子:34
专家分:53
注 册:2012-6-10
收藏
得分:0 
我们期末考试编程题的复杂版。。。。这都能见到
2013-01-10 08:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
丢三落四的,语法不熟练是其中一个原因,但性格马虎才是主要的原因
程序代码:
#include <cmath>

class Shape
{
public:
    virtual const char* Shamename() const = 0;
    virtual double area() const = 0;
};

class Circle : public Shape
{
public:
    explicit Circle(double r) : radius(r) {}
    virtual const char* Shamename() const { return "Circle"; }
    virtual double area() const { return 3.1415926*radius*radius; }
protected:
    double radius;
};

class Rectangle : public Shape
{
public:
    Rectangle(double a,double b) : length(a),with(b) {}
    virtual const char* Shamename() const { return "Rectangle"; }
    virtual double area() const { return length*with; }
protected:
    double length,with;
};

class Triangle : public Shape
{
public:
    Triangle(double a,double b,double c):bord1(a),bord2(b),bord3(c) {}
    virtual const char* Shamename() const { return "Triangle"; }
    virtual double area() const
    {
        double s=(bord1+bord2+bord3)/2;
        return sqrt(s*(s-bord1)*(s-bord2)*(s-bord3));
    }
protected:
    double bord1,bord2,bord3;
};

#include <iostream>

void printArea( const Shape& s )
{
    std::cout << s.Shamename() << std::endl;
    std::cout << s.area() << std::endl;
}

using namespace std;

int main()
{
    Circle c1(2);
    printArea(c1);

    return 0;
}

2013-01-10 08:27
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
收藏
得分:0 
楼上似乎已经解决了,我就不看了,来混分的
2013-01-14 21:15
liu137800
Rank: 2
等 级:论坛游民
帖 子:21
专家分:24
注 册:2012-12-25
收藏
得分:0 
5楼解决你问题了,过来混个分!!注意细节,还有就是书写格式,放别自己也方便他人查看!
2013-01-15 14:40
快速回复:C++简单的问题
数据加载中...
 
   



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

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