Как сделать перегрузку операторов

223
08 января 2018, 10:38

Реально ли для объектов этого класса использовать перегрузку оператора + (суммы?) и как это сделать? и имеет ли смысл?

class Bus {
    int SeatsNumber;
    int Passengers;
};
Answer 1

Надеюсь, что это не все определение класса :), и в нем есть и разные методы, поля и модификаторы доступа. Пока же, чтоб не было вопросов, сделаем Bus структурой.

struct Bus 
{
    int SeatsNumber;
    int Passengers;
};

Будем считать, что сумма автобусов - большой автобус с суммой мест и пассажиров.

Тогда все просто:

Bus operator+(const Bus& a, const Bus& b)
{
    Bus c;
    c.SeatsNumber = a.SeatsNumber + b.SeatsNumber;
    c.Passengers  = a.Passengers  + b.Passengers;
    return c;
}

Вот, собственно, и все.

Ну, а там сами смотрите - нужен ли он вам и имеет ли он необходимую вам семантику...

READ ALSO
Все Типы данных с++

Все Типы данных с++

Какие есть типы данных в С++? Кто мог бы логически расставить по местам? Есть стандартные типы (int, double

243
Permission's для чтения файлов других приложений в /data/data/%appname%

Permission's для чтения файлов других приложений в /data/data/%appname%

Ребята, может кто знает, какие в android нужны permissions для чтения файлов других приложений в /data/data/%appname% ?

209
Составить json из text.txt

Составить json из text.txt

ЗдравствуйтеНужна помощь

417
Картинки в GridView

Картинки в GridView

Пытаюсь освоить Android Studio, поставил себе задачу реализовать приложение, которое бы брало с сервера JSON файл и выводило бы из него данные

251