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

Классы. Перегруженные операторы ввода-вывода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++. Ввод, вывод (в консоле) http://www.cyberforum.ru/cpp-beginners/thread1549232.html
Помогите, пожалуйста... Только начал учить С++ а) Напишите программу, которая выводит на экран разным цветом контуры треугольника, квадрата и трапеции. Цвет фона для каждой фигуры выберите по собственному желанию; б) Напишите программу, которая спрашивала у Вас день, месяц и год рождения и выводит их в формате: "Студент Иванов* родился 8-го числа 12-го месяца 1987 года"; в) Выведите значение...
C++ Объявление третьей переменной в функции strtok_s Вот кусок кода: char **context; char *pch = strtok_s(str_text, " ,.", &context); //во втором параметре указаны разделители (пробел, запятая, точка) while (pch != NULL) //пока есть лексемы { cout << pch << endl; pch = strtok_s(NULL, " ,.", &context); } http://www.cyberforum.ru/cpp-beginners/thread1549231.html
C++ Как понять, что реализация конструктора в классе произошла?
VISUAL C++ Как понять что реализация конструктора в классе произошла ?
"Динамический" вывод в консоль C++
Представим: у нас есть поле (5 на 5, к примеру), где 1 - наш курсор 10000 00000 00000 00000 00000 Мы нажимаем стрелку вправо, и наш "курсор" должен переместиться вправо: 01000 00000 00000
C++ Среднее арифметическое главной и побочной диагоналей матрицы http://www.cyberforum.ru/cpp-beginners/thread1549187.html
Здравствуйте, помогите пожалуйста разобраться с ошибкой :) В текстовом файле на первой строке расположены данные о размерности квадратной матрицы. Начиная со второй строки, расположена сама матрица. Не считывая матрицу в память, найти среднее арифметическое элементов главной и побочной диагонали, дописать найденные значения с пояснительной строкой в конец файла. Например, «Среднее...
C++ Вычислить значение функции заданной разложением в ряд Тейлора Рассчитать сумму членов бесконечного ряда с заданной пользователем точностью е для заданного пользователем значения x є (-1;1) : 1+x^2/2!+x^4/4!+... Подскажите где ошибка, просто только начал программировать, пока тяжело идёт. #include <iostream> #include <conio.h> #include <math.h> #include <clocale> using namespace std; int main () подробнее

Показать сообщение отдельно
hoggy
6437 / 2655 / 460
Регистрация: 15.11.2014
Сообщений: 5,846
Завершенные тесты: 1
10.10.2015, 23:21     Классы. Перегруженные операторы ввода-вывода
как то так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <string>
 
#ifndef OUT_STREAM
    #define OUT_STREAM(type_)     \
        template<class T>friend   \
        ::std::basic_ostream<T>&  \
        operator<<(::std::basic_ostream<T>& os, const type_& obj )
#endif
 
#ifndef IN_STREAM
    #define IN_STREAM(type_)      \
        template<class T>friend   \
        ::std::basic_istream<T>&  \
        operator>>(::std::basic_istream<T>& is, type_& obj )
#endif
 
 
class book
{
    OUT_STREAM(book)
        { return os << "(" << obj.author << ", " << obj.title << ", " << obj.year << ")"; }
    
    IN_STREAM(book)
    {
        std::cout<< "enter author: "; is >> obj.author; std::cout<<'\n';
        std::cout<< "enter title: ";  is >> obj.title;  std::cout<<'\n';
        std::cout<< "enter year: ";   is >> obj.year;   std::cout<<'\n';
        return is;
    }
 
    std::string author;
    std::string title;
    size_t      year;
};
 
int main ()
{
    book books[3] = {};
    
    for(auto& book: books)
        std::cin >> book;
    
    for(const auto& book: books)
        std::cout << book << std::endl;
 }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru