CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

类定义问题

楼主jialuo(jialuo)2005-03-02 12:34:29 在 C/C++ / C++ 语言 提问

我的应用程序有两个源文件  
  main.cpp和String.h  
  代码分别如下  
   
  #include   <iostream>  
  #include   <stdlib.h>  
  #include   <cstring>  
  #include   <String.h>  
   
  using   namespace   std;  
   
  bool   String::operator==(const   String   &rhs)     //报错的地方,请问是为什么?  
  {  
    if(_size!=rhs._size)  
        return   false;  
    return   strcmp(_string,rhs._string)?false:true;  
  }  
   
  int   main(int   argc,   char   *argv[])  
  {  
       
      system("PAUSE");  
      return   0;  
  }  
   
   
  String.h文件是String类的定义  
  #include   <iostream>  
   
  class   String;  
  istream   &   operator>>(istream   &,String   &);  
  ostream   &   operator<<(ostream   &,const   String   &);  
   
  class   String   {  
  public:  
      String();  
      String(const   char   *);  
      String(const   String   &);  
       
      ~String();  
       
      String   &   operator=(const   String   &);  
      String   &   operator=(const   char   *);  
       
      bool   operator==(const   String   &);  
      bool   operator==(const   char   *);  
       
      char   &   operator[](int);  
       
      int   size()  
      {  
        return   _size;  
      }  
       
      char   *   c_str()  
      {  
        return   _string;  
      }  
       
  private:  
      int   _size;  
      char   *   _string;  
  } 问题点数:20、回复次数:4Top

1 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2005-03-02 12:39:52 得分 8

#include   <String.h>  
   
  ->  
   
  #include   "String.h"  
   
   
  class   String;  
  istream   &   operator>>(istream   &,String   &);  
  ostream   &   operator<<(ostream   &,const   String   &);  
  ->  
  直接定義就是  
  class   String  
  {  
      //   ...  
      friend   istream   &   operator>>(istream   &,String   &);  
      friend   ostream   &   operator<<(ostream   &,const   String   &);  
  };  
   
  Top

2 楼tankbattle(坦克大战)回复于 2005-03-02 13:58:21 得分 4

注意#include   "..."和#include   <...>的区别。后者只能用来包含标准路径下的头文件,自己创建的头文件只能用前一种方法来包含。Top

3 楼jialuo(jialuo)回复于 2005-03-02 14:44:45 得分 0

我改了还是报错啊Top

4 楼succer(IT浪子)回复于 2005-03-02 16:53:15 得分 8

类定义完后,后面应该加分号,class   string   {};Top

相关问题

  • ??类定义与__gc??
  • string类的定义
  • ”用户定义类型未定义“
  • 用户定义类型末定义
  • 关于类的定义???
  • 类定义的问题
  • 自定义类的使用???
  • 求助:类数组定义
  • 用户定义类引用??
  • 自定义数据类型

关键词

  • 文件
  • istream
  • 定义
  • ostream
  • rhs
  • operator
  • include

得分解答快速导航

  • 帖主:jialuo
  • beyondtkl
  • tankbattle
  • succer

相关链接

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

广告也精彩

反馈

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