//client.h
#pragma once
#ifndef _CLINET
#define _CLIENT
#include <iostream>
#include <string>
using namespace std;
class CLIENT {
public:
static int serveNum;//静态数据成员:服务器数
static void changeServeName(string s);//静态成员函数:改变服务器名称
CLIENT();//默认构造函数
CLIENT(string name);//构造函数
~CLIENT();
void showName();//显示服务器名称
static void showNum();//显示服务器数量
private:
static string serveName;//静态数据成员:服务器名称
};
#endif
//client1.cpp
#pragma once
#include "client.h"
CLIENT::CLIENT() {
serveName = "name1";
cout << "创建一台服务器" << endl;
serveNum++;
}
CLIENT::CLIENT(string name) {
serveName = name;
cout << "创建一台服务器" << endl;
serveNum++;
}
CLIENT::~CLIENT() {}
int CLIENT::serveNum = 0;
string CLIENT::serveName = "NULL";
void CLIENT::showName() {
cout << serveName << endl;
}
void CLIENT::showNum() {
cout <<"当前共有服务器数为:"<< serveNum << endl;
}
void CLIENT::changeServeName(string s) {
serveName = s;
}
//main.cpp
#include "client1.cpp"
using namespace std;
int main() {
string s;
CLIENT c1;
CLIENT c2("name2");
CLIENT::showNum();
c1.showName();
c2.showName();
cin >> s;
c1.changeServeName(s);
c1.showName();
c2.showName();
return 0;
}
代码是这样的,然后编译不通过,报LNK2005和LNK1169
求大佬
我测试了一下,没有错误啊,你最好把错误信息贴出来
头部和lib包有冲突。或者重复引入了头部。建议把工程文件发出来。我看看。
贴个百度网盘链接。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
你的main文件的#include "client1.cpp"是什么意思?改成include “client1.h”
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y