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

VC中

楼主xxyifan(一帆)2005-01-20 10:49:26 在 C/C++ / C++ 语言 提问

我在.h文件中写了一个类的声明,在同名的.cpp中写了它的成员函数的实现,然后我在另外的工程中#include这个头文件,这样,可以编译成功,可以运行。  
  可是,如果这样,假设上面的头文件为a.h,我写了一个b.h和b.cpp,在b.h中我#include   a.h,并在b.h中由a.h中声明的类派生出一个子类,然后,我在工程中#include   b.h,并把b.cpp加到工程中,不能通过编译,具体代码如下:::  
  1.可以运行的:  
  extern.h  
  int   swap(int   &a,int   &b);  
   
  extern.cpp  
  int   swap(int   &a,int   &b)  
  {  
  int   tmp   =   a;  
  a   =   b;  
  b   =   tmp;  
  return   0;  
  }  
   
  下面是工程的.cpp  
  #include   <iostream>  
  using   namespace   std;  
  #include   "d:\c++project\extern\extern.h"  
  //extern   int   swap();     可有可无??  
   
  int   main()  
  {  
  int   a   =   0;  
  int   b   =   1;  
  swap(a,b);  
  cout<<a<<"   "<<b<<endl;  
  return   0;  
  }  
   
  2.不能运行的  
   
  base.h  
  class   base  
  {  
  public:  
  void   swap(int   &a,int   &b);  
  protected:  
  int   _size;  
  };  
   
  base.cpp  
  int   base::swap(int   &a,int   &b)  
  {  
  int   tmp   =a;  
  a   =   b;  
  b   =   a;  
  }  
   
  son.h  
  #include   <iostream>  
  using   namespace   std;  
  #include   "d:\c++project\base\base.h"  
   
  class   son   :   public   base  
  {  
  public:  
  void   size();  
  private:  
  int   son_size;  
  };  
   
  son.cpp  
  int   son::size()  
  {  
  return   son_size;  
  }  
   
  工程.cpp  
  #include   <iostream>  
  using   namespace   std;  
  #include   "d:\c++project\son\son.h"  
  int   main()  
  {  
  son   s1;  
  s1.size();  
  int   a   =   0;  
  int   b   =   1;  
  s1.swap(a,b);  
  cout<<a<<"   "<<b<<endl;  
  return   0;  
  }  
   
  VC是不支持那个.h和.cpp分离吗?有人说声明和定义的问题,我是晕了,不知道什么是声明什么是定义了,呵呵?先谢谢各位!  
   
  问题点数:20、回复次数:5Top

1 楼goodluckyxl(被人遗忘的狗)回复于 2005-01-20 10:54:26 得分 12

vc不支持分离是   STL的分离模型  
  不是你那个东西Top

2 楼dongyuanzhang(阿林)回复于 2005-01-20 10:57:22 得分 8

include最好不要带路径名。Top

3 楼xxyifan(一帆)回复于 2005-01-20 11:16:23 得分 0

to   goodluckyxl(被人遗忘的狗)   :  
    这样就对了,我说呢,呵呵Top

4 楼xxyifan(一帆)回复于 2005-01-20 13:38:33 得分 0

只能自已UP  
   
  Top

5 楼xxyifan(一帆)回复于 2005-01-20 14:02:07 得分 0

自己再UPTop

相关问题

  • VC 中的SOCK
  • VC中的TRACE
  • vc中的bmp
  • vc中的string!
  • vc中画图???
  • vc++中的opengl
  • VC
  • vc
  • vc++ / vc++.net 中如何访问 web services ?
  • vc中ado问题

关键词

  • c++
  • cpp
  • 文件
  • son
  • swap
  • 工程
  • c++project
  • extern
  • include
  • using namespace std

得分解答快速导航

  • 帖主:xxyifan
  • goodluckyxl
  • dongyuanzhang

相关链接

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

广告也精彩

反馈

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