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

Использование перегруженного оператора << - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Клетчатая доска - Определить количество способов добраться до последней клетки N-M http://www.cyberforum.ru/cpp-beginners/thread1228313.html
Привет. Задача такая: дана клетчатая доска NxM (-1000 <= N,M <= 1000), мы находимся в самой первой клетке 1-1. Нужно определить количество способов добраться до последней клетки N-M. Можно двигаться только вправо и вниз, также на доске существуют препятствия с известными координатами, через них пройти нельзя. Входные данные (Пример): 3 3 - размеры доски 1 - кол-во преград 2 2 - координаты...
C++ Не работает функция sort (vector, vector) #include <iostream> #include <conio.h> #include <vector> #include <string> #include <algorithm> using namespace std; class Name_pairs { private: http://www.cyberforum.ru/cpp-beginners/thread1228298.html
C++ Написать функцию вычисления произведения отрицательных чисел для трех целых аргументов
Написать функцию вычисления произведения отрицательных чисел для трех целых аргументов. Написать операторы вызова функции, с помощью которых определяется и выводится на экран произведение отрицательных чисел для следующих входных данных: a) k, r, y; b) 3, -4, k.
C++ Равномерное дополнение строки пробелами
Всем доброго времени суток.Имеется задача: Дан текст из нескольких строк. Написать функцию, равномерно дополняющую строку пробелами до определенной длины и с ее помощью отформатировать этот текст. В программе должны быть функции - ввода текста (из нескольких строк); - вывода текста на экран; - форматирования строки текста в соответствии с заданием. Подскажите КАК следует понимать условие...
C++ Указатели на функции (Прата) - не пойму, как это работает http://www.cyberforum.ru/cpp-beginners/thread1228221.html
Стивен Прата "Язык программирования C++. Лекции и упражнения" 7 глава, стр. 355, листинг 7.18. fun_ptr.cpp // fun_ptr.cpp -- pointers to functions #include <iostream> double betsy(int); double pam(int); // second argument is pointer to a type double function that
C++ Как ограничить поле ввода только одним символом? А двумя? Как ограничить поле ввода только одним символом? А двумя? Например чтобы сразу после нажатия клавиши(двух), программа переходила к следующей операции, не ожидая нажатия "ентер", либо же не давала ввести символов больше положенного? Как сделать так, чтобы можно было напечатать в строку ввода только определённые символы, например y/n? Спасибо. подробнее

Показать сообщение отдельно
Spirit370
 Аватар для Spirit370
1 / 1 / 2
Регистрация: 08.08.2013
Сообщений: 86
16.07.2014, 21:29     Использование перегруженного оператора <<
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <conio.h>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
 
class Name_pairs
{
private:
    vector<double> age;
    vector<string> name;
public:
    Name_pairs(){};
    void read_names();
    void read_ages();
    void operator<<(Name_pairs& a)const
    {
        for(int i = 0;i<a.name.size();i++)
        cout << "Name -> " << a.name[i]  << 
        " Age -> " << a.age[i] << endl;
    }
    void sort_this();
};
 
void Name_pairs::sort_this()
{
    vector<string>help_name = name;
    vector<double>new_age;
    sort(name.begin(),name.end());
    for(int i = 0;i<name.size();i++)
{
    int j =0;
    for(;j<name.size();j++)
    {
        if(name[j] == help_name[i]) break;
    }
     new_age.push_back(age[j]);
}
    age = new_age;
}
 
void Name_pairs::read_names()
{
    int i = name.size();
    string n;
    do
    {
    i++;
    cout << "Enter name(" << i << ") -> ";
    cin >> n;
    if(n == "(0)") break;
    name.push_back(n);
    }
    while(true);
}
 
void Name_pairs::read_ages()
{
    int n;
    
    for(int i = 0;i<name.size();i++)
    {
        
        cout << name[i] << " -> ";
        cin >> n;
        
        age.push_back(n);
    }
}
 
 
void main()
{
    setlocale(LC_ALL,"Rus");
    Name_pairs group1;
    group1.read_names();
    cout << endl;
    group1.read_ages();
    cout << endl;
    group1.sort_this();
    cout << endl;
    cout << endl;
    <<group1;
    _getch();
 
}
В классе в функции-члене, я перегрузил оператор <<
C++
1
void operator<<(Name_pairs& a)const
Возникает вопрос, как его теперь использовать. Компилятор на это ругается

C++
1
2
Name_pairs group1;
<<group1;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru