
找错c++类
我写的一个c++类,运行不出来帮我看看吧。这个类分成3部分1:类的声明Circle.h2:类的实现Circle.cpp3:main1:#ifndefCIRCLE_H_#d...
我写的一个c++类,运行不出来帮我看看吧。
这个类分成3部分
1:类的声明 Circle.h
2:类的实现 Circle.cpp
3:main
1:
#ifndef CIRCLE_H_
#define CIRCLE_H_
const float PI=3.14; //pi
const float Fence=35.00;//每单位小园周长的造价(一个围栏)
const float Concret=20.00;//每单位圆环的造价
class Circle
{
public:
Circle();
float SamCircle(); //求小园的面积
float BigCircle(float n);//求大圆面积
float SamCircumfrence();//求小园周长
virtual ~Circle();
private:
float radius;
};
#endif /*CIRCLE_H_*/
请问我在Circle.h文件里定义的常量和变量在 main.cpp里可以不定义直接调用么?
2:
#include "Circle.h"
using namespace std;
Circle::Circle()
{ }
float Circle::SamCircle()
{return (radius*radius*PI);}
float Circle::BigCircle(float n)
{
float x;
x=(radius+n)*(radius+n)*PI;
return x;
}
float Circle::SamCircumfrence()
{return(2*radius*PI);}
Circle::~Circle()
{}
3:
#include<Circle.h>
using namespace std;
int main()
{
float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
Circle p;
cout<<"Enter radius and n1:";
cin>>radius>>n1;
p.SamCircle(radius);
p.BigCircle(n1);
p.SamCircumfrence()
CostFence=p.SamCircle(radius)*Fence
CostConcret=(p.BigCircle(n1)-p.SamCircle(radius))*Concret
cout<<CostFence<<" "<<CostConcret<<endl;
}
救救我的程序把 展开
这个类分成3部分
1:类的声明 Circle.h
2:类的实现 Circle.cpp
3:main
1:
#ifndef CIRCLE_H_
#define CIRCLE_H_
const float PI=3.14; //pi
const float Fence=35.00;//每单位小园周长的造价(一个围栏)
const float Concret=20.00;//每单位圆环的造价
class Circle
{
public:
Circle();
float SamCircle(); //求小园的面积
float BigCircle(float n);//求大圆面积
float SamCircumfrence();//求小园周长
virtual ~Circle();
private:
float radius;
};
#endif /*CIRCLE_H_*/
请问我在Circle.h文件里定义的常量和变量在 main.cpp里可以不定义直接调用么?
2:
#include "Circle.h"
using namespace std;
Circle::Circle()
{ }
float Circle::SamCircle()
{return (radius*radius*PI);}
float Circle::BigCircle(float n)
{
float x;
x=(radius+n)*(radius+n)*PI;
return x;
}
float Circle::SamCircumfrence()
{return(2*radius*PI);}
Circle::~Circle()
{}
3:
#include<Circle.h>
using namespace std;
int main()
{
float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
Circle p;
cout<<"Enter radius and n1:";
cin>>radius>>n1;
p.SamCircle(radius);
p.BigCircle(n1);
p.SamCircumfrence()
CostFence=p.SamCircle(radius)*Fence
CostConcret=(p.BigCircle(n1)-p.SamCircle(radius))*Concret
cout<<CostFence<<" "<<CostConcret<<endl;
}
救救我的程序把 展开
展开全部
1. float BigCircle(float n);//求大圆面积
---- 分号后面的"//"是汉字全角逗号,需要改成ASCII的'//'.类似错误好几处,不再一一列举.
2. float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
---- n1 后面的逗号是汉字全角逗号,需要改成ASCII的','
3. float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
readius 应该是 radius
4. 这3句后面缺分号.
p.SamCircumfrence()
CostFence=p.SamCircle(radius)*Fence
CostConcret=(p.BigCircle(n1)-p.SamCircle(radius))*Concret
5. 缺 #include <iostream.h>
以上都不是实质性的错误,仔细一点就能避免.下面可都是关键了:
1. Circle::Circle() { }
构造函数没有,那么其成员变量radius如何得到值呢?其成员函数用到radius从哪里取值呢?
应该是 Circle::Circle(float r) { radius=r; }
2. main() 中的 Circle p;
应该在输入半径值之后才能建立一个Circle的实例p.所以它应该往后移:
cout<<"Enter radius and n1:";
cin>>radius>>n1;
Circle p(radius);
3. >请问我在Circle.h文件里定义的常量和变量在 main.cpp里可以不定义直接调用么?
可以.比如 PI, Fence, Concret...
但是 class Circle中的不可以.只能以"实例名."的形式引用其public的部分.
---- 分号后面的"//"是汉字全角逗号,需要改成ASCII的'//'.类似错误好几处,不再一一列举.
2. float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
---- n1 后面的逗号是汉字全角逗号,需要改成ASCII的','
3. float CostFence,CostConcret,n1,readius;//n1就是R-r的差,也就是圆环的宽
readius 应该是 radius
4. 这3句后面缺分号.
p.SamCircumfrence()
CostFence=p.SamCircle(radius)*Fence
CostConcret=(p.BigCircle(n1)-p.SamCircle(radius))*Concret
5. 缺 #include <iostream.h>
以上都不是实质性的错误,仔细一点就能避免.下面可都是关键了:
1. Circle::Circle() { }
构造函数没有,那么其成员变量radius如何得到值呢?其成员函数用到radius从哪里取值呢?
应该是 Circle::Circle(float r) { radius=r; }
2. main() 中的 Circle p;
应该在输入半径值之后才能建立一个Circle的实例p.所以它应该往后移:
cout<<"Enter radius and n1:";
cin>>radius>>n1;
Circle p(radius);
3. >请问我在Circle.h文件里定义的常量和变量在 main.cpp里可以不定义直接调用么?
可以.比如 PI, Fence, Concret...
但是 class Circle中的不可以.只能以"实例名."的形式引用其public的部分.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询