Я пытаюсь сделать что-то подобное
class Arguments {
/* implimentation */
};
class Base {};
class One: public Base {
private:
int val;
public:
One(int val_): val(val_) {}
Arguments test_one(Arguments args) {
printf("my int is: %d", val);
return Arguments("ok")
};
};
class Two: public Base {
private:
std::string val2;
public:
Two(std::string val_): val2(val_) {};
Arguments test_two(Arguments args) {
printf("my string is: %s", val2.c_str());
return Arguments("ok");
};
};
std::map<std::string, Base*> components = {{"test1", new One(123)}, {"test2", new One(321)}, {"test3", new Two("test")}}
Arguments invoke(std::string comp, std::string name, Arguments args) {
//getMethod?
return components[comp]->getMethod(name)(args);
}
invoke("test1", "test_one", Arguments())
invoke("test2", "test_one", Arguments())
invoke("test3", "test_two", Arguments())
Функциия invoke
должна принимать строку с ключём, который предоставляет доступ к какому-то классу, а вторая строка - это имя метода класса
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Доброго дня! Есть устройство с которого нужно считывать строку в ACSII протокол общения TCP/IPЕсть рабочий код:
Необходимо написать программу, которая бы читала лог-файлы ВидовсПроблема в том, что мы этого ещё не учили, а курсовую делать нужно
Школьная задача C++, решить не могу, подскажите в чем ошибка или просто намекните как по другому ее решать?