Witam
Stworzyłem klasę i chciałbym aby przeciążyć jej operator - chodzi mi o " << "
Szukałem informacji ale mimo różnych kursów/poradników i instrukcji nie za bardzo zrozumiałem jak to zrobić dla operatora w kasie.
Różne operatory już przeciążałem ale z tym nie mogę sobie poradzić.
class Logger
{
public:
Logger();
void operator <<(std::string);///wiem ze tak to nie powinno wyglądać ale próbuje różne kombinacje alpejskie ;(
};
Logger::Logger()
{
}
void Logger::operator <<(/*Dziwna nazwa typu argumentu - to zostało wygenerowane przez Qt Creator */ std::__cxx11::string _str)
{
///body
}
Efekt który chciałbym uzyskać to mniej więcej taki zapis.
#define LOG_WARN "[WARN]"
int main()
{
Logger << LOG_WARN << "Program has been initialized succesfully";
}
Output: "[WARN] Program has been initialized succesfully"
Czy możecie mi pokazać jak mogę przeciążyć operator << tak żebym mógł stosować taki zapis jak powyżej ?