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

Перегрузка операторов - C++

Восстановить пароль Регистрация
 
&Alex&
 Аватар для &Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
02.11.2011, 10:57     Перегрузка операторов #1
Мне нужно определить тип name_and_adress. Потом перегрузить для него операторы << и >> и скопировать поток объектов name_and_adress.
У меня есть перегрузка операторов и пример ее использования, но мне нужно переделать для моего типа
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
#include"stdafx.h";
#include<iostream>
using namespace std;
struct  info
{
char  *name;
double  val;
char  *units;
};
ostream&  operator << (ostream& s, info& m)
 {
    s << m.name << " " << m.val << " " << m.units;
        return s;
     };
istream& operator >> (istream& s, info& m)
 {
    s >> m.name >> m.val >> m.units;
    return s;
 };
int main (void)
{
  x.name = new char [15];
  x.units = new char [10];
 
  cout << "\n input name, value and units: ";
  cin >> x;
  cout << "\n my input: " << x;
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 10:57     Перегрузка операторов
Посмотрите здесь:

Перегрузка операторов C++
C++ Перегрузка операторов
Перегрузка операторов С++ C++
C++ перегрузка операторов
Перегрузка операторов C++
Перегрузка операторов с++ C++
Перегрузка операторов C++
Перегрузка операторов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.11.2011, 12:48     Перегрузка операторов #2
вот что нашёл
Вложения
Тип файла: txt из страуструпа (2).txt (2.2 Кб, 18 просмотров)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.11.2011, 15:11     Перегрузка операторов #3
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
#include <iostream>
#include <string>
 
class NameAndAddress
{
public:
    NameAndAddress(const std::string &name = "", const std::string &address = ""):
    m_name(name),
    m_address(address)
    {
    }
 
    friend std::istream &operator>>(std::istream &stream, NameAndAddress &name_and_address)
    {
        return stream >> name_and_address.m_name >> name_and_address.m_address;
    }
 
    friend std::ostream &operator<<(std::ostream &stream, const NameAndAddress &name_and_address)
    {
        return stream << "Name:    " << name_and_address.m_name << std::endl
                      << "Address: " << name_and_address.m_address;
    }
 
private:
    std::string m_name;
    std::string m_address;
};
 
int main()
{
    NameAndAddress naa1("John", "New York");
    NameAndAddress naa2;
 
    std::cin >> naa2;
 
    std::cout << naa1 << std::endl;
    std::cout << naa2 << std::endl;
 
    return 0;
}
Yandex
Объявления
02.11.2011, 15:11     Перегрузка операторов
Ответ Создать тему
Опции темы

Текущее время: 16:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru