CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

大家帮我看看哪里有错?

楼主Fragile()2004-05-02 13:43:41 在 C/C++ / C++ 语言 提问

#include<iostream.h>  
  class   fix  
  {  
  public:  
  int   m,n;  
  float   val;  
  fix(int   z,int   x,float   v=0.0)  
  {  
  m=z;  
  n=x;  
  val=v;  
  }  
          operator   =(float   val)  
  {  
          this->val=val;  
  }  
  };  
  operator   +(fix&c1,fix&c2)  
  {  
  float   val;  
  val=c1.val+c2.val;  
  return   val;  
  }  
   
  main()  
  {  
  fix   x(6,4);  
  fix   y(6,4);  
  fix   z(6,4);  
  x=10.5;  
  y=10.25;  
  z=x+y;  
  cout<<z.val<<endl;  
  }  
  应该是20.75  
  但出来是20,return   val;的时候val还是20.75的  
  但是到z=x+y;后val=20了,是哪里出了错? 问题点数:20、回复次数:7Top

1 楼Andy84920(你也不懂)回复于 2004-05-02 14:01:08 得分 20

#include<iostream>  
  using   namespace   std;  
     
  class   fix  
  {  
          public:  
                  int   m,n;  
                  float   val;  
                  fix(int   z,int   x,float   v=0.0)  
                  {  
                          m=z;  
                          n=x;  
                          val=v;  
                  }  
            fix   operator=(float   val)  
                  {  
                          this->val=val;  
                  }  
  };  
  fix   operator+(fix&c1,fix&c2)  
  {  
          fix   val(0,0);  
          val=c1.val+c2.val;  
          return   val;  
  }  
     
  int   main()  
  {  
          fix   x(6,4);  
          fix   y(6,4);  
          fix   z(6,4);  
          x=10.5;  
          y=10.25;  
          z=x+y;  
          cout<<z.val<<endl;  
  }  
  Top

2 楼Andy84920(你也不懂)回复于 2004-05-02 14:02:58 得分 0

this->val=val;  
  后面加一个:return   *this;  
  不好意思,忘记了。Top

3 楼Fragile()回复于 2004-05-02 14:04:44 得分 0

楼上的,谢谢回答。  
  但是你加的那句using   namespace   std;是什么意思  
  而且加进去以后我编译的时候有错误error   C2871:   'std'   :   does   not   exist   or   is   not   a   namespaceTop

4 楼Fragile()回复于 2004-05-02 14:09:55 得分 0

哦,没错误了,是我搞错了,谢谢你。  
  但是using   namespace   std;是什么意思我还是不知道,想问问。Top

5 楼zxs790501(沧海一粟)回复于 2004-05-02 14:29:25 得分 0

operator   +()  
  函数的返回类型是int类型,不能返回float类型!  
  查MSDNTop

6 楼zxs790501(沧海一粟)回复于 2004-05-02 14:31:21 得分 0

#include<iostream>  
  using   namespace   std;  
  等同于  
  #include<iostream.h>Top

7 楼loguliu1981(GUMP)回复于 2004-05-02 14:34:54 得分 0

使用命名空间,c++教材上都有的。让编译器默认的命名空间是stdTop

相关问题

  • 帮我看错在哪里?
  • 大家帮我看看错在哪里?
  • 版主,帮我看看是哪里错?
  • 请帮我看看错在哪里了?
  • 请帮我看看错在哪里?
  • 帮我看看这段哪里有错。
  • sos!帮我看看哪里错?
  • 帮我看看错在哪里?
  • ★★★帮我看看哪里出的错呀★★★
  • 帮我看看哪里看错了呢?

关键词

  • val
  • fix
  • float
  • 类型
  • operator
  • using namespace std
  • include

得分解答快速导航

  • 帖主:Fragile
  • Andy84920

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo