Форум программистов, компьютерный форум CyberForum.ru

Перегрузка оператора ввода и наследование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нужно найти ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread676473.html
вот код: пишет ошибки такие : "expected expression before % token" "повторная декларация s без привязки" а еще делает замечание: "здесь была предыдущая декларация 's' " Разъясните что да как я делаю не правильно. В общем-то я пытаюсь вычислить выражение s=(x+1)+...+(x+1)*...*(x+n). n-веществ. x-целое.
C++ как вывести на экран только что введенные числа? здравствуйте. извините за глупый вопрос, но у меня не получается вывести на экран только что введенные числа в одну строчку через точку программа подчеркивает букву D и пишет: выражение должно иметь тип класса int D,M,G; /*вводимые числа должны быть целыми*/ printf(Rus("Введите три числа \n дата \n месяц \n год\n")); cin >> D; cin >> M; cin >> G; http://www.cyberforum.ru/cpp-beginners/thread676466.html
C++ Создать классы: Равнобедренный треугольник, равнобедренный треугольник со скошенными углами
помогите создать классы: Равнобедренный треугольник, равнобедренный треугольник со скошенными углами, текст, текст в треугольнике. пожалуйста очень надо
C++ Алгоритм решения задачи
Есть вот такая вот задача . На дороге в некоторых местах разбросаны золотые монеты. Для каждой монеты известно ее местоположение, которое задается одним целым числом — расстояни*ем в метрах от начальной отметки. Все монеты расположены правее начальной отметки. Али-баба бегает по дороге и собирает монеты, начиная делать это в момент времени 0. За одну секунду он пробегает ровно один метр. У каждой...
C++ корректировка массива http://www.cyberforum.ru/cpp-beginners/thread676446.html
перенести максимальную группу с положительными элементами в начало массива #include "stdafx.h" #include "iostream" #include "conio.h" #include <time.h> using namespace std;
C++ При инициализации указателя на функцию происходит ошибка сборки программы Здравствуйте, захотелось написать мне более-менее масштабируемую структуру типа словарь, причем без использования шаблонов. Для этого я ввел указатель на функцию сравнения ключей и значений. Но при компиляции/линковки у меня вылетают ошибки cmap.o:(.data+0x0): multiple definition of `keyCompareFunc' preprocessor.o:(.data+0x0): first defined here cmap.o:(.data+0x4): multiple definition of... подробнее

Показать сообщение отдельно
Morol
Сообщений: n/a
21.10.2012, 16:07
Функция main:
C++ (Qt)
1
2
3
4
5
6
7
8
9
int main()
 
{
    Date date1(21,4,1986), date2(22,02,2005),date11(22,5,1999),date22(30,5,2010);
        Animal a1("dragon","Skyrim","Paarthrunax",date1), a2("nord","Skyrim","Dovakiin",date2);
        Unit u1(a1,date11,2300),u2(a2,date22,228);
    cout<<u1;
        system("PAUSE");
}
Перегрузка в классе Unit:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
ostream & uwriteln(ostream & o)
    {
        o<<this->Animal::writeln(o)<<u_date;
        o<<price;
        return o;
    }
 
    friend ostream & operator <<(ostream & o, Unit u1)
    {
        u1.uwriteln(o);
        return o;
    }
Перегрузка в классе Animal
C++ (Qt)
1
2
3
4
5
6
7
8
9
 ostream& writeln(ostream & o)
    {
        return o<<specie<<endl<<country<<endl<<name<<endl<<birth_date;
    }
    friend ostream & operator <<(ostream & o,Animal &a)
    {
        a.writeln(o);
        return o;
    }
Перегрузка вывода в классе Date
C++ (Qt)
1
2
3
4
friend ostream& operator<<(ostream &o, Date &d)
    {
        return o<<d.dd<<"/"<<d.mm<<"/"<<d.yy<<endl;
    }
Добавлено через 9 минут
Цитата Сообщение от soon Посмотреть сообщение
I.M., нет смысла. Проблема в uwriteln и обнаруживается при внимательном разглядывании первой строки.
Насколько я понял, дело в <<u_date?
Я пытался реализовать вывод u_date через методы класса таким образом:
C++ (Qt)
1
2
3
4
5
6
7
8
9
ostream & uwriteln(ostream & o)
    {
        o<<this->Animal::writeln(o);
        u_date.show_d();//методы для вывода числа\месяца\года
        u_date.show_m();
        u_date.show_y();
        o<<price;
        return o;
    }
но к положительным результатам это не привело, число все так же выводится некорректно.

Добавлено через 6 минут
Все, разобрался. Спасибо за подсказку.
C++ (Qt)
1
2
3
4
5
6
7
8
ostream & uwriteln(ostream & o)
    {
        this->Animal::writeln(o);
        
        o<<u_date;
        o<<price;
        return o;
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru