Вопрос:
Почему происходит следующая ошибка?
определение имплицитно-объявленной 'Одежда :: Одежда ()
Контекст:
В качестве задания я должен делать конструкторы, деструкторы и методы в классе одежды. У меня проблема при попытке определить конструктор в clothing.cpp . Я читал, что проблема в том, что я не объявил конструктор в clothing.h , но я думаю, как я это сделал, он объявлен. Я понятия не имею, в чем проблема.
Мой код:
clothing.h:
#ifndef CLOTHING_H_
#define CLOTHING_H_
#include <string>
#include <iostream>
using namespace std;
class Clothing {
private:
int gender;
int size;
string name;
public:
Clothing();
Clothing(const Clothing &t);
Clothing(int gender, int size, string name);
~Clothing();
int getGender();
int getSize();
string getName();
void setGender(int gender1);
void setSize(int size1);
void setName(string name1);
void print();
void toString();
};
#endif /* CLOTHING_H_ */
clothing.cpp:
#include <iostream>
#include "clothing.h"
#include <string>
#include <sstream>
using namespace std;
Clothing::Clothing() :
gender(1),
size(1),
name("outofstock") {
}
Clothing::Clothing(const Clothing& t) :
gender(t.gender),
size(t.size),
name(t.name) {
}
Clothing::Clothing(int gender, int size, string name) {
}
int Clothing::getGender() {
return gender;
}
int Clothing::getSize() {
return size;
}
string Clothing::getName() {
return name;
}
void Clothing::setGender(int gender1) {
gender = gender1;
}
void Clothing::setSize(int size1) {
size = size1;
}
void Clothing::setName(string name1) {
name = name1;
}
void Clothing::print() {
cout << name << " " << gender << " " << size << endl;
}
void Clothing::toString() {
stringstream ss;
ss << name << " " << gender << " " << size;
cout << ss.str();
}
Ошибки: \ src \ clothing.cpp: 7: 21: ошибка: определение неявно объявленного 'Clothing :: Clothing ()'
\ src \ clothing.cpp: 14: 37: ошибка: определение неявно объявленной «Одежда :: Одежда (const Clothing &)»