看看程序哪里错了

ytyytryrtyryr 2012-04-28 03:20:59
求助下 帮我看看程序哪里错了

#include<iostream>
using namespace std;
class dog
{
public:
void set(int g,double w);
dog(int g=0,double w=5);
~dog();
int getage()
{
return age;
}
double getweight()
{
return weight;
}


private:
int age;
double weight;
};

dog::dog(int g,double w)
{ age=g;
weight=w;
}



dog::~dog()
{
}



int main()
{
dog jack(2,10);
cout<<"jack is a dog who is ";
cout<<jack.getage()<<"years old and "<<jack.getweight<<"pound weight"<<endl;
jack.set(7,20);
cout<<"now jack is ";
cout<<jack.getage()<<"years old and "<<jack.getweight<<"pound weight"<<endl;

return 0;
}


老运行不过出现
Linking...
4-8 dog.obj : error LNK2005: _main already defined in 4-8 dog 2.obj
4-8 dog.obj : error LNK2001: unresolved external symbol "public: void __thiscall dog::set(int,double)" (?set@dog@@QAEXHN@Z)
Debug/4-8 dog 2.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
demonYJ 2012-04-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

1.main函数重复定义,你的工程里有两个main()函数,如果你使用的visual studio开发工具的话,int _tmain(int argc, _TCHAR* argv[])就是入口函数(也就是main函数);

2.set()没有实现
[/Quote]
把这个文件单列,编译试试吧。
qq407824082 2012-04-28
  • 打赏
  • 举报
回复


#include<iostream>
using namespace std;
class dog
{
public:
void set(int g,double w){age=g,weight=w;}
dog(int g=0,double w=5);
~dog();
int getage()
{
return age;
}
double getweight()
{
return weight;
}


private:
int age;
double weight;
};

dog::dog(int g,double w)
{ age=g;
weight=w;
}



dog::~dog()
{
}



int main()
{
dog jack(2,10);
cout<<"jack is a dog who is ";
cout<<jack.getage()<<"years old and "<<jack.getweight()<<"pound weight"<<endl;
jack.set(7,20);
cout<<"now jack is ";
cout<<jack.getage()<<"years old and "<<jack.getweight()<<"pound weight"<<endl;

return 0;
}


zhenglixin360 2012-04-28
  • 打赏
  • 举报
回复
set()没有定义,并且"<<jack.getweight<<"少了()
CHENGYAOJUN 2012-04-28
  • 打赏
  • 举报
回复
1.main函数重复定义,你的工程里有两个main()函数,如果你使用的visual studio开发工具的话,int _tmain(int argc, _TCHAR* argv[])就是入口函数(也就是main函数);

2.set()没有实现
huangwenshen 2012-04-28
  • 打赏
  • 举报
回复
error LNK2005: _main already defined in 4-8 dog 2.obj
在你的工程里面定义了 两个main() 函数
error LNK2001: unresolved external symbol "public: void __thiscall dog::set(int,double)" (?set@dog@@QAEXHN@Z)
成员函数set()没有实现,只声明了。
酱油党 2012-04-28
  • 打赏
  • 举报
回复
你查一下,可能其他地方也定义了main
错误提示很明显了
qq45000 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

void set(int g,double w);

set成员函数,你没实现,就用了
[/Quote]
++
惬意 2012-04-28
  • 打赏
  • 举报
回复
没有定义set
hen_hao_ji 2012-04-28
  • 打赏
  • 举报
回复
void set(int g,double w);

set成员函数,你没实现,就用了

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧