| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:类代码文件的组织,到底改怎么安排,
只看楼主 加入收藏
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
结帖率:94.87%
收藏
已结贴  问题点数:10 回复次数:14 
类代码文件的组织,到底改怎么安排,
比如说有头文件,里面放的是类的定义,以及 一个成员函数的声明:
1.ceshi.hpp
程序代码:
#include<iostream>
using namespace std;
class  ceshi {
    public:
    ceshi(int x):ce(x){    }
  void out();    
    private:
    int ce;
    
};

成员还是ceshi的实现放在另外一个cpp中
2.ceshi.cpp
程序代码:
#include<iostream>
#include"ceshi.hpp"
using namespace std;
void ceshi::out(){
    cout<<ce;
}

最后是主程序
3.main.cpp
程序代码:
#include<iostream>
#include"ceshi.hpp"
using namespace std;
int main(){
    ceshi ll(5);
    ll.out();
    return 0;
}

根据书上的说法我觉得是这样安排的,但是无法编译成功。


还有一种是在头文件这样修改
修改后:
程序代码:
#include<iostream>
using namespace std;
class  ceshi {
    public:
    ceshi(int x):ce(x){    }
  void out();    
    private:
    int ce;
    
};
#include"ceshi.cpp"

在最后加上成员函数定义的源文件。
另外成员函数定义的文件里不再包括头文件
这样运行是正确的。
但是感觉跟书上讲的不一样。
求前辈解答,我看是的是C++primer
2013-08-22 19:48
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:4 
完全不懂你在讲什么

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-22 20:13
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
哦,你去看一下#include宏是干嘛的...
百度,谷歌了再说...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-22 20:14
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
回复 2楼 peach5460
你理解能力有问题!就是类中成员函数的声明在头文件hpp里,它的定义在cpp文件里,应该怎么连接起来,
2013-08-22 20:17
holy__shit
Rank: 2
等 级:论坛游民
帖 子:21
专家分:55
注 册:2013-8-23
收藏
得分:4 
回复 4楼 未未来
看下错误!

[ 本帖最后由 holy__shit 于 2013-8-23 10:14 编辑 ]

羁绊太多,只会迷失自我!
2013-08-23 01:47
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 4楼 未未来
那你是怎么没有把他连起来的呢?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-23 06:18
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
回复 5楼 holy__shit
--------------------Configuration: manin - Win32 Debug--------------------
Linking...
manin.obj : error LNK2001: unresolved external symbol "public: void __thiscall ceshi::out(void)" (?out@ceshi@@QAEXXZ)
Debug/manin.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

manin.exe - 1 error(s), 0 warning(s)
2013-08-23 19:55
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
工程设置有问题呗

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-23 22:35
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
回复 8楼 peach5460
我也意识到了,可是我这苦逼的vc6.0对win7支持不好,将文件加到工程里去就崩溃,我都要崩溃了,您用的啥编译的, vs多少 ,
2013-08-23 23:11
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:4 
1,你的头文件包含格式是正确的。
2,用vs2012来调试吧,若不能通过,请贴上错误提示。

思考赐予新生,时间在于定义
2013-08-23 23:44
快速回复:类代码文件的组织,到底改怎么安排,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016797 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved