Новый для C ++ здесь. Допустим, у меня есть структура, определенная как:
struct Item { string name; }
В C ++ есть ли способ получить значение name, просто вызвав объект?
name
Item item; item.name = "Andy" cout << item; // --> Output: "Andy"
Спасибо!
Вам необходимо перегрузить оператор вставки потока operator<< для Item типа.
operator<<
Item
#include <iostream> #include <string> struct Item { std::string name; friend std::ostream& operator<<(std::ostream& stream, const Item& obj); }; std::ostream& operator<<(std::ostream& stream, const Item& obj) { // Feel free to extend this function to print what you like. // You can even do something like 'stream << "Item(" << obj.name << ")";'. // The implementation is upto you as long as you return the stream object. stream << obj.name; return stream; } int main() { Item it{"Item1"}; std::cout << it << std::endl; }
Попробуйте сами
Больше ссылок на топи c:
ссылка 1
ссылка 2