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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
#1

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

02.11.2011, 10:57. Просмотров 412. Ответов 2
Метки нет (Все метки)

Мне нужно определить тип 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++
Создать несколько объектов (например, a и b) разработанного класса. Класс – символьная строка. Реализовать для объектов данного класса...

Перегрузка операторов - C++
Никак не возьму в толк, почему оно не работает! // CG5.cpp : Defines the entry point for the console application. // #include...

Перегрузка операторов - C++
Хочу написать функцию вывода стека на экран. Стек построен на основе динамического массива который написал я. И вот интересно, при написаны...

Перегрузка операторов >>, <<, [] - C++
задача: написать перегруженные операторы &lt;&lt;, &gt;&gt; и для объекта массив деков символов. Объект дек реализован. проблема с квадратными...

Перегрузка операторов - C++
Привет всем.Вот и начался новый учебный год,и значит началось програмирование, и значит начались мои проблемы. Первой задачей было...

Перегрузка операторов - C++
Помогите пожалуйста, нужно описать класс, реализующий тип данных «целая матрица» и работу с ними. Класс должен реализовывать сложение,...

Перегрузка операторов с++ - C++
Доброго времени суток!Вот у меня перегрузка оператора +.Задание сделапть пергрузку так чтобы к строке можно было добавить символ и к...

Перегрузка операторов >> - C++
доброго времени суток. не как не получаеться перегрузить операторы класса. в общем, есть массив типа MString (другой класс) в котором...

Перегрузка операторов - C++
Добрый вечер. Не подскажите, в чём дело? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; struct programTime { programTime() { ...

Перегрузка операторов - C++
Перегрузить оператор ввода, вывода для строки; Перегрузить операторы: +, =, +=, &gt;, &lt;, == .


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
02.11.2011, 12:48     Перегрузка операторов #2
вот что нашёл
Вложения
Тип файла: txt из страуструпа (2).txt (2.2 Кб, 18 просмотров)
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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     Перегрузка операторов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru