Как создать статический класс наследуемый от интерфейса с чисто виртульными функциями?
Собственно есть интерфейс класса функций(В файлике "Student_Interface.h"):
class Function_Interface {
virtual StudentInterface* Initialize(std::string) = 0;
virtual int mostViolencedRoom(StudentInterface*) = 0;
virtual int lateSettlement(StudentInterface*, std::string) = 0;
virtual int StudentViolence(StudentInterface*, std::string) = 0;
};
И есть попытка его реализации ("Student_Interface.cpp"):
class Function : Function_Interface {
public:
static int mostViolencedRoom(Student* list) {
//code
}
static int lateSettlement(Student* list, std::string date) {
//code
}
static int StudentViolence(Student* list, std::string name) {
//code
}
};
При попытке скомпилировать это чудо Visual Studio Code зависает а билд g++ из консоли сначала выдавал что то вроде:
[...] In file "Student_Interface.h", in function "virtual int mostViolencedRoom(StudentInterface*) = 0" cannot be declared
[...] In file "Student_Interface.cpp", since "static int mostViolencedRoom(StudentInterface* list)" was declared.
Потом и вовсе начал выдавать строчки без ошибок но с неизвестными файлами (насколько полагаю это были файлы линковки).
Проверял код на Microsoft Visual Studio ситуация аналогична g++.