vanya V vanya Регистрация 1 Дек 2013 Сообщения 101 Репутация 0 Спасибо 0 Монет 0 12 Фев 2022 #1 Как мне сделать класс где я могу присвоить значение примерно вот так: string abc = "abc"; - как мне этот = сделать в своём классе?
Как мне сделать класс где я могу присвоить значение примерно вот так: string abc = "abc"; - как мне этот = сделать в своём классе?
gagaga123 G gagaga123 Регистрация 2 Сен 2013 Сообщения 108 Репутация -3 Спасибо 0 Монет 0 12 Фев 2022 #2 #include <iostream> #include <string> using namespace std; class Any { public: Any(const string& a) : a(a) {} Any(const char* a) : a(a) {} private: string a; friend ostream& operator<<(ostream& out, const Any& any) { return out << any.a; } }; int main() { Any any = "Hello World"; cout << any << '\n'; return 0; } Позитивный голос 0
#include <iostream> #include <string> using namespace std; class Any { public: Any(const string& a) : a(a) {} Any(const char* a) : a(a) {} private: string a; friend ostream& operator<<(ostream& out, const Any& any) { return out << any.a; } }; int main() { Any any = "Hello World"; cout << any << '\n'; return 0; }
рвяплриявопи Р рвяплриявопи Регистрация 8 Дек 2013 Сообщения 83 Репутация -3 Спасибо 0 Монет 0 12 Фев 2022 #3 в классе создать перегруженный оператор = синтаксис такой: myclass& operator = (const char* other) //const char* - это передаваемая строка rValue { this->str = other; //где str - ваша строка в классе return *this; } myclass - имя вашего класса Позитивный голос 0
в классе создать перегруженный оператор = синтаксис такой: myclass& operator = (const char* other) //const char* - это передаваемая строка rValue { this->str = other; //где str - ваша строка в классе return *this; } myclass - имя вашего класса
griha1987 G griha1987 Регистрация 12 Дек 2013 Сообщения 83 Репутация 0 Спасибо 0 Монет 0 12 Фев 2022 #4 #include #include #include #include #include using namespace std; class UserString { public: string abc; UserString(string s) { abc= s; } void OutStr() { cout << abc << endl; } ~UserString() {} protected: private: }; int main(int argc, char **argv) { system("chcp 1251 > nul"); // Руссификация сообщений setlocale(LC_ALL, "Russian"); UserString us("Мой класс"); us.OutStr(); system("pause"); // system("pause > nul"); return 0; } Позитивный голос 0
#include #include #include #include #include using namespace std; class UserString { public: string abc; UserString(string s) { abc= s; } void OutStr() { cout << abc << endl; } ~UserString() {} protected: private: }; int main(int argc, char **argv) { system("chcp 1251 > nul"); // Руссификация сообщений setlocale(LC_ALL, "Russian"); UserString us("Мой класс"); us.OutStr(); system("pause"); // system("pause > nul"); return 0; }
evgen59 E evgen59 Регистрация 14 Дек 2013 Сообщения 90 Репутация 0 Спасибо 0 Монет 0 12 Фев 2022 #5 а кто же покажет перегрузку оператора = для его класса? Позитивный голос 0
аывпва А аывпва Регистрация 21 Окт 2013 Сообщения 80 Репутация -3 Спасибо 0 Монет 0 12 Фев 2022 #6 Сделай свой класс наследующим от класса string Позитивный голос 0