Что я делаю не так, при попытке создать объект класса Date? Получаю ошибку LNK2001
#include <iostream>
#include <string>
using namespace std;
class Date {
private:
static int day;
static int month;
static int year;
public:
Date(void) {
}
Date(const Date &obj) {
this->day = obj.day;
this->month = obj.month;
this->year = obj.year;
}
~Date(){
}
static int GetDate() {
return day;
}
static int GetMonth() {
return month;
}
static int GetYear() {
return year;
}
static void SetDate(int value) {
day = value;
}
static void SetMonth(int value) {
month = value;
}
static void SetYear(int value) {
year = value;
}
};
class Time {
private:
static int second;
static int minute;
static int hour;
public:
Time(void) {
}
Time(const Time& obj) {
this->second = obj.second;
this->minute = obj.minute;
this->hour = obj.hour;
}
~Time() {
}
};
int main()
{
Date obj;
int str;
cin >> str;
obj.SetDate(str);
cout << obj.GetDate();
}
inline static int day;, или снаружи класса дописатьint Date::day;. Для остальных статических переменных аналогично. Но вообще, вы уверены, что вам здесь нужны статические переменные/методы? – HolyBlackCat May 17 '20 at 18:39static? Используйте просто пространство имен :) – Harry May 18 '20 at 04:46