Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как переопределить дружественную функцию ввода для класса наследника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переделать из файлового вывода в консольный http://www.cyberforum.ru/cpp-beginners/thread1179257.html
Помогите пожалуйста! У меня есть задача готовая, но там файловый ввод-вывод. Но мне очень нужно переделать все это в обычный вид, через cout, чтобы все вводить в компиляторе. #include...
C++ Найти в каждом числе количество четных и нечетных цифр Вводится последовательность из N целых чисел. Найти в каждом числе количество четных и нечетных цифр (функциями оформить определение количества четных и нечетных цифр числа).В 17 и 19 строчке... http://www.cyberforum.ru/cpp-beginners/thread1179244.html
Вычисление суммы членов ряда C++
Сложность вызывает сама математика ибо вообщем не представляю решения данного примера. Было где-то, но... http://floomby.ru/s1/gWjaZR и это получается также? http://floomby.ru/s1/8WjYgw
Очистить динамическую память, выделенную под член структуры C++
Объявление и инициализация объекта: pupil B = Constructor("MyName", 18, 50); Сама структура: struct pupil{ public: char *name = new char; int age; float rating; }; Нужно в отдельной...
C++ Работа с базой данных, содержащей записи со сведениями о студентах http://www.cyberforum.ru/cpp-beginners/thread1179204.html
#include "stdafx.h" #include <ctime> #include <stdlib.h> #include <fstream> #include <iostream> using namespace std; struct stud {
C++ Из положительных элементов массива A(n) (n<=14) сформировать массив B Из положительных элементов массива A(n) (n<=14) сформировать массив B. Распечатать созданный массив и посчитать количество элементов в нём. подробнее

Показать сообщение отдельно
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
18.05.2014, 02:55
влад0,
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
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <iterator>
 
struct A {
    std::string nameT,
        countryT,
        amountT;
    friend std::istream &operator>> (std::istream &in, A& a) {
        return in >> a.nameT >> a.countryT >> a.amountT;
    }
};
 
struct B : A {
    std::string priceT,
        perishableT;
    friend std::istream &operator>> (std::istream &in, B& b) {
        return in >> static_cast<A&>(b) >> b.priceT >> b.perishableT;
    }
};
 
int main (int argc, char const* argv[]) {
    std::istringstream input{
        std::string{"11 12 13 14 15 16 "} +
        std::string{"21 22 23 24 25 26 "} +
        std::string{"31 32 33 34 35 36 "} +
        std::string{"41 42 43 44 45 46 "}};
    typedef std::istream_iterator<B> in;
    std::vector<B> v{in{input}, in{}};
    for (B b: v) std::cout << b.nameT << " " << b.perishableT << '\n';
}
Bash
1
2
3
4
5
6
ruslan@TFTM-K53TA:~/Programming/c++/cyberforum$ make && ./main 
clang++ main.cpp -o main -std=c++11
11 15
16 24
25 33
34 42
Идея понятна?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru