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

文件的组织问题

楼主zhuangzhou(当时间也被挥霍一空,我还会有什么?)2003-12-02 19:36:01 在 C/C++ / C++ 语言 提问

刚刚接触c++,求教:  
  //complex.h  
   
  #ifndef   _complex_h_  
  #define   _complex_h_  
  #include   <iostream>  
   
  class   complex{  
    public:  
        complex(){Re=Im=0;}  
        complex(double   r){Re=r;Im=0;}  
        complex(double   r,double   i){Re=r;Im=i;}  
        double   getReal(){return   Re;}  
        double   getImag(){return   Im;}  
        void   setReal(double   r){Re=r;}  
        void   setImag(double   i){Im=i;}        
        complex&   operator=   (complex&   ob){Re=ob.Re;Im=ob.Im;}  
        complex&   operator+   (complex&   ob);  
  //       friend   ostream&   operator   <<   (ostream&   os,complex&   c);   //<<  
    private:  
        double   Re,Im;  
  };  
   
  #endif  
   
  //complex.cpp  
  #include   <iostream>  
  #include   <math.h>  
  #include   "complex.h"  
   
  complex&   complex::operator+   (complex&   ob){  
          complex*   result=new   complex(Re+ob.Re,Im+ob.Im);  
          return   *result;   //   (1)此行和上一行为什么要定义complex*定义complex会如何?  
  }  
   
  //main.cpp  
  #include   <iostream>  
  #include   <stdlib.h>  
  #include   "complex.h"     //(2)   是否应该为include   "complex.cpp"  
  using   namespace   std;  
   
  int   main()  
  {    
      double   edition=0.001;  
      cout<<edition<<endl;  
      complex   cp=new   complex();   //(3)???  
      return   0;  
  }  
   
  /*  
  VC   的错误提示:  
   
  Deleting   intermediate   files   and   output   files   for   project   'reload   -   Win32   Debug'.  
  --------------------Configuration:   reload   -   Win32   Debug------------------Compiling...  
  complex.cpp  
  main.cpp  
  g:\cpp\reload\main.cpp(12)   :   error   C2440:   'initializing'   :   cannot   convert   from   'class   complex   *'   to   'class   complex'  
                  No   constructor   could   take   the   source   type,   or   constructor   overload   resolution   was   ambiguous  
  */  
  /*Thank   You!*/  
  问题点数:20、回复次数:4Top

1 楼cxq249(cxq249)回复于 2003-12-02 19:54:30 得分 8

(1).应该一样  
  (2).须包含#include   "complex.h"  
  (3).应该为:complex*   cp=new   complex();  
  Top

2 楼z3810(z3810)回复于 2003-12-02 20:04:46 得分 8

你的  
  complex   cp=new   complex();    
  句中cp   对象,而new,出来的是对象的指针,所以报错  
  应该是  
  ....  
  complex   *cp;  
  cp   =   new   complex();  
  ......Top

3 楼Drunkard2000(Drunkard2000)回复于 2003-12-02 20:10:22 得分 4

(1)中的*result   改为result  
  返回一个指针Top

4 楼zhuangzhou(当时间也被挥霍一空,我还会有什么?)回复于 2003-12-02 20:17:14 得分 0

Ok  
  It   is   different   form   Java!Top

相关问题

  • *********文件组织**********
  • 一个文件组织的问题
  • 关于文件组织形式?
  • 如何使用makefile组织文件?
  • 如何在makefile文件中组织文件的层次关系??
  • 临时文件夹的组织规范是怎么样的?
  • [求助]一个有关类模板的文件组织问题
  • 请问构造怎样的文件组织结构比较好?
  • 这样的XML文件该如何组织
  • 大侠指教关于类文件的组织方法

关键词

  • im
  • complex
  • ob
  • re
  • double
  • operator
  • include

得分解答快速导航

  • 帖主:zhuangzhou
  • cxq249
  • z3810
  • Drunkard2000

相关链接

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

广告也精彩

反馈

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