
C++中关于类的一般问题
有一道题是这样,(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个圆形类,其属性包括圆心和半径;(3)创建两个圆形对象,提示用户输...
有一道题是这样,
(1) 定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
(2) 定义一个圆形类,其属性包括圆心和半径;
(3) 创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。
我的代码是这样:
/*
(1) 定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
(2) 定义一个圆形类,其属性包括圆心和半径;
(3) 创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。
*/
#include<iostream>
#include<math.h>
using namespace std;
class Point// 居然写成了 class Point(), 多加了个() ...
{
public://将公有属性放前面,因为外部可以调用,方便阅读。
double Dis(){
return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
}
void getXnY1(double x1, double y1){// 要分别获得这两点的坐标。
x=x1;
y=y1;
}
void getXnY2(double x2, double y2){
x2=xx;
y2=yy;
}
private:
double x,y,xx,yy;
};
class round
{
public:
void Judge(double dist){
if(dist>r)
cout<<"两圆相离"<<endl;
else if(dist<r)
cout<<"两圆相交"<<endl;
else if(dist==r)
cout<<"两圆相切"<<endl;
}
double getR(double r1){
r=r1;
}
private:
double r;
};
int main()
{
round o1;
round o2;
double X1,Y1,X2,Y2;
cout<<"请输入两个圆心的坐标,用空格隔开x1,y1,x2,y2";
cin>>X1>>X2>>Y1>>Y2;
Point.getXnY1(X1,Y1);
Point.getXnY2(X2,Y2);
o1.judge(Point.Dis());
system("pause");
return 0;
}
然后不知道哪儿错了,编译都过不去,麻烦帮忙看下了,谢谢...~ 展开
(1) 定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
(2) 定义一个圆形类,其属性包括圆心和半径;
(3) 创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。
我的代码是这样:
/*
(1) 定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
(2) 定义一个圆形类,其属性包括圆心和半径;
(3) 创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。
*/
#include<iostream>
#include<math.h>
using namespace std;
class Point// 居然写成了 class Point(), 多加了个() ...
{
public://将公有属性放前面,因为外部可以调用,方便阅读。
double Dis(){
return sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
}
void getXnY1(double x1, double y1){// 要分别获得这两点的坐标。
x=x1;
y=y1;
}
void getXnY2(double x2, double y2){
x2=xx;
y2=yy;
}
private:
double x,y,xx,yy;
};
class round
{
public:
void Judge(double dist){
if(dist>r)
cout<<"两圆相离"<<endl;
else if(dist<r)
cout<<"两圆相交"<<endl;
else if(dist==r)
cout<<"两圆相切"<<endl;
}
double getR(double r1){
r=r1;
}
private:
double r;
};
int main()
{
round o1;
round o2;
double X1,Y1,X2,Y2;
cout<<"请输入两个圆心的坐标,用空格隔开x1,y1,x2,y2";
cin>>X1>>X2>>Y1>>Y2;
Point.getXnY1(X1,Y1);
Point.getXnY2(X2,Y2);
o1.judge(Point.Dis());
system("pause");
return 0;
}
然后不知道哪儿错了,编译都过不去,麻烦帮忙看下了,谢谢...~ 展开
4个回答
展开全部
刚开始学C++?全部的问题编译器都告诉你了,比如在main函数里面对象都没定义出来就在调用,然后Judge函数在main里面写的是小写,而你类里面是大写。还有double getR(double r1)函数你明显没有返回值。
展开全部
楼上说的对,注意看一下编译的输出结果吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对汇编来说,字母的大小写没问题,但是对c很和c ++来说就不一样了,要养成好的书写习惯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询