标题:关于将类定义和成员函数实现部分分离的小问题
只看楼主
小旭哥
Rank: 2
等 级:论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
结帖率:86.21%
已结贴  问题点数:5 回复次数:4 
关于将类定义和成员函数实现部分分离的小问题
小问题:关于将类定义和成员函数实现部分分离的小问题

我先建立一个工程:GradeBook
然后在这个工程里创建一个gradebook.h文件,代码如下:
#include<string>
using namespace std;

class GradeBook
{
public:
    GradeBook( string, string );
    void setCourseName( string );
    void setTeacherName( string );
    string getCourseName();
    string getTeacherName();
    void displayMessage();

private:
    string courseName;
    string teacherName;
};

然后我再在这个工程里创建一个gradebook.cpp文件,代码如下:
#include"gradebook.h"
#include<iostream>
using namespace std;

GradeBook::GradeBook( string teachName, string cName )
{
    setCourseName( cName );
    setTeacherName( teachName );
}

void GradeBook::setCourseName( string cName )
{
    courseName = cName;
}

void GradeBook::setTeacherName( string teachName )
{
    teacherName = teachName;
}

string GradeBook::getCourseName()
{
    return courseName;
}

string GradeBook::getTeacherName()
{
    return teacherName;
}

void GradeBook::displayMessage()
{
    cout << "Welcome to course " << getCourseName() << "\n"
         << "This course is presented by " << getTeacherName() << endl;
}


然后当我输出(F7)的时候,错误提示如下:
--------------------Configuration: GradeBook - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/GradeBook.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

GradeBook.exe - 1 error(s), 0 warning(s)


哪位内行人可以告诉我怎么弄啊?我试着用静态链接库,成功了。但是当我放在一个Windows Console Application工程的时候,没成功
求解决方案。。。。。


搜索更多相关主题的帖子: void 工程 private include public 
2012-11-05 21:37
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
得分:1 
我能力有限。。。只能帮顶。。。

有心者,千方百计;无心者,千难万难。
2012-11-06 00:31
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:605
专家分:2489
注 册:2009-4-8
得分:1 
没定义int main(){} ?

迭代的是人,递归的是神。
2012-11-06 06:47
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:1 
既然都生成静态库了,那就方便了呀,
直接写一段程序,只引用头文件,链结的时候加上你生成的静态库就成了。

我们都在路上。。。。。
2012-11-06 10:37
allenz0810
Rank: 2
等 级:论坛游民
帖 子:44
专家分:38
注 册:2012-9-3
得分:1 
你那些 代码 看起来好像没有问题啊

不过建议在 gradebook.h文件
里面加 # ifndef gradebook_h    # define gradebook_h  # endif
那三个加了都是好的可以避免多次定义头文件
2012-11-07 09:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-386007-1-1.html




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

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