Articles of перегрузка

Можно перегрузить оператор * на несколько int и char *?

Я хотел бы получить функциональность, чтобы я мог это сделать: std::cout << "here's a message" << 5*"\n"; Я попробовал следующее: std::string operator* (int lhs, const char* rhs) { std::string r = “”; for(int i = 0; i < lhs; i++) { r += rhs; } return r; } И я получил сообщение об ошибке: error: […]

Перегружать операторы для работы с объектами classа?

Как я могу изменить следующий код таким образом, мне не нужно повторять f2=11; f3=12; f2=11; f3=12; в основной функции. Код предназначен для перегрузки наиболее распространенных операторов. class FLOAT{ private: float x; public: FLOAT(){ x=0.0; } void setFloat(float f) { x=f; } float getFloat() { return x;}; FLOAT operator+(FLOAT obj) {x=x+obj.x; return *this;}; FLOAT operator-(FLOAT obj) […]

istream >> ostream << Перегрузка оператора с помощью * Указателя

Как я могу перегрузить операторы >> и <<, если они имеют дело с указателями? в заголовке: friend std::istream& operator >>( std::istream& ins, Classname* & e); friend std::ostream& operator <<( std::ostream& outs, const Classname * e); в cpp: std::ostream& operator <>( std::istream& ins, Classname* & e){ // what do I do here? return ins; }

Специализация и перегрузка шаблонов функций участника с переменными параметрами

Попытка разрешить разрешение перегрузки для члена classа: перегрузка шаблона статической функции – частичная специализация. В настоящее время у меня есть class, объявленный / определяемый как таковой: Примечание. Мое использование параметров Param a , Param b , Param c и т. Д. Напрямую не связано с фактическими декларациями / определениями. Это может быть любой произвольный тип, […]

Соединение и добавление перегрузки оператора

Мне нужна помощь в работе с моими функциями перегрузки оператора, представленными ниже. Я не знаю, как я могу реализовать это, фактически не используя назначение в определениях функций. Код для оператора + в моем .cpp-файле: MyString& MyString::operator +(const MyString& rhs) { delete [] String; String = new char[rhs.Size]; Size = rhs.Size; // needs to be a […]

Списки инициализаторов и перегрузка присвоений (operator =)

Перегружается ли оператор присваивания в список инициализаторов? Например, предположим, что class: class MyClass { private: std::string m_myString; //std::string overloads operator = public: MyClass(std::string myString); } И конструктор: MyClass::MyClass(std::string myString) : m_myString(myString) { } Будет ли список инициализаторов работать с перегрузкой оператора присваивания по std::string ? А если нет, есть ли обходной путь? Особенно для GCC.

Реализация доступа к вектору stucts с использованием вектора в качестве индексов

Некоторые языки более высокого уровня имеют эту функцию, и я пытаюсь реализовать ее на C ++. Я не уверен, есть ли библиотека, которая уже делает это где-то, но если есть, это избавит меня от многих проблем. Во всяком случае, вот что я пытаюсь сделать: Предположим, у меня есть вектор структур, у которых есть double и […]

Как отличить конструктор заполнения и конструктор диапазона в C ++ 11?

Я подозреваю, что прототипы конструктора заливки и конструктора диапазона std::vector (и многие другие типы STL), приведенные на этой веб-странице , NaiveVector , поэтому я реализую NaiveVector чтобы имитировать эти два прототипа. Мой код: #include #include using namespace std; template struct NaiveVector { vector v; NaiveVector(size_t num, const T &val) : v(num, val) { // fill […]

Нет соответствия для оператора = ошибка

Это fragment программы c ++. Ниже приводится перегруженный оператор = знак. В основном методе создан массив stringstream type, и я хочу сравнить содержимое этого массива. * .cpp файл: template class Assessment3; template Assessment3 & Assessment3:: operator=(const Assessment3& refer){ if(this != &refer){ for(int x = 0; x array[x]= refer.array[x]; } } return *this; } Заголовок файла: […]

Оператор перегрузки для замены векторных элементов

У меня есть class A, который имеет векторный объект vObject . class ClassA{ public: ClassB** operator [] (int index); private: vector vObject }; Предположим, что vObject заполнен некоторыми объектами classа B *. То, что я хочу сделать, – это возможность заменить такие элементы вектора classB * следующим образом: classA_obj[3] = classA_obj[5]; classA_obj[1] = classB_obj; Я […]

Intereting Posts
C ++ Реализация медианной функции кучи Неразрешенный внешний символ для некоторых вызовов функций, но не всех Можно добавить импортированную библиотеку в target_link_libraries, которая также включает каталоги include? Портирование 32-битного кода на C ++ до 64 бит – это того стоит? Зачем? Использование getline () для чтения в строках из текстового файла и push_back в вектор объектов Странное поведение SFML Имя узла Libcurl не было найдено в кеше DNS Я хотел бы создать функцию, которая читает каждую строку ввода и выдает ее сумму и сохраняет ее как sum.txt с использованием C ++ C ++ и QT4.5 – передают const int & overkill? Проходит ли эта ссылка в сигналах / слотах? Как создать массив строк в VBA / Excel и отправить его в C ++ DLL, чтобы его можно было повторить в DLL неназванное пространство имен конкатенирование строк с использованием «+» в c ++ Как заменить «malloc» и «free» на «new» и «delete»? возврат ссылок на локальную переменную Поиск первых двух несмежных элементов в наборе с использованием алгоритма STL