一个简单的C++问题

基类是使用极坐标的点类,从它派生一个圆类,圆类用点类的坐标为圆心,圆周通过极坐标的原点,圆类有输出圆心直角坐标圆半径和面积的成员函数,完成类的设计并验证之。我手头上有一个... 基类是使用极坐标的点类,从它派生一个圆类,圆类用点类的坐标为圆心,圆周通过极坐标的原点,圆类有输出圆心直角坐标 圆半径和面积的成员函数,完成类的设计并验证之。

我手头上有一个原代码:
#include <iostream>
#include <cmath>
using namespace std;

const float PI = 3.1415;

class point{
public:
int x;
int y;
point(int a,int b):x(a),y(b){}
};

class circle:public point
{
public:
circle(int a,int b):point(a,b)
{
this->radius = sqrt(a*a+b*b);
}
float radius;

void printout();
};

void circle::printout()
{
cout<<"圆心直角座标:"<<"("<<x<<","<<y<<")"<<endl;
cout<<"圆半径:"<<radius<<endl;
float area = PI*radius*radius;
cout<<"圆面积"<<area<<endl;
}

int main(int argv, char** argc)
{
circle *c1 = new circle(3,4);
c1->printout();
delete c1;
}

我自认为运行了没问题,但是我运行之后竟然还有两个警告
下面是软件指出的问题:
-------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
e:\cpp1.cpp(5) : warning C4305: 'initializing' : truncation from 'const double' to 'const float'
e:\cpp1.cpp(40) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Linking...

Cpp1.exe - 0 error(s), 2 warning(s)

大家来说说,为什么会出现这样的问题呢?
要怎样该才能让程序成功运行呢?
希望大家给我一个详细的答案
展开
 我来答
jyking1000
2007-01-31 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:61.6万
展开全部
第一个警告原因:
    3.1415默认是double类型,你把它赋给一个float类型的变量,所以它会自动进行一个转换,建议小数都定义成double 这样就没这个问题了;
解决方案:
1.把第一句改成const float PI = (float)3.1415;
2.把float都改成double;

第二个警告原因:
    你定义的main返回值是int而你又没写返回什么。
解决方案:
1.把int main(int argv, char** argc) 改成void main(int argv, char** argc)
2.在main函数的最后一句加上return 0;
百度网友674263ddb
2007-01-31 · TA获得超过165个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:279万
展开全部
看英文理解
e:\cpp1.cpp(5) : warning C4305: 'initializing' : truncation from 'const double' to 'const float'
说的是CONST DOUBLE数据传给CONST FLOAT了。
e:\cpp1.cpp(40) : warning C4508: 'main' : function should return a value; 'void' return type assumed
说 的是MAIN函数要有返回值,因为你定义的是INT型的MAIN().
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
413462845
2007-01-31 · TA获得超过239个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:333万
展开全部
你把PI 定义成宏 #define pi 3.14
主函数改为void main() 或者最后加个return(1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuqiangkk
2007-01-31 · TA获得超过303个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:57.2万
展开全部
没问题啊
老大~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式