#include <iostream>
using namespace std;
class pop {
int x;
public:
int getX() {
return x;
}
pop() : x{ 0 } {}
pop operator + (pop& p) {
return pop(this->x + p.x);
// здесь ошибка E0289: отсутствуют экземпляры конструктора pop::pop,
// соответствуюшие списку аргументов; и всегда у меня ошибки с
// перегрузкой в vs
}
};
Вам нужен конструктор для класса pop
, который принимает один параметр типа int
. Вы в вашем return
пытаетесь использовать именно его, но создать его вы забыли.
Этот конструктор может быть отдельным конструктором, но можно, если вам понравится, воспользовавшись аргументами по умолчанию, написать один общий конструктор: и для конструкции из int
, и для конструкции по умолчанию
pop(int x = 0) : x{ x } {}
Также, если вы не объявите такой конструктор explicit
, то он будет конструктором преобразования и в реализации вашего оператора вы сможете, при желании, просто написать
return x + p.x;
Но это дело вкуса.
Бинарный оператор сложения лучше реализовывать самостоятельной (возможно дружественной) функцией, а не методом класса, как у вас. Однако даже при реализации методом класса не стоит забывать о константной корректности
pop operator + (const pop& p) const
и, конечно
int getX() const
Если вы предоставите конструктор конверсии из типа int
, вы сразу же сможете также выполнять сложения вида
pop a, b;
a = b + 5;
// Автоматически рассматривается компилятором как `b + pop(5)`
Однако из-за того, что оператор сложения у вас реализован методом класса, вы не сможете выполнять сложения вида
a = 5 + b;
Реализация оператора сложения самостоятельной функцией была бы свободна от этого недостатка.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мне нужно использовать эту библиотекуК моему проекту уже подключен OpenGL и все работает
Доброго времени суток, делаю интерактивную карту, подскажите пожалуйста как увеличивать ее при скроле, нарезаю svg
Я делаю свой плагин с виджетом, в котором должна загружаться картинкаВот часть кода для кнопки загрузки в самом виджете:
Как выключить фоновый scrolling при открытии модального окна на css или js?