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

Конструктор копирования и перегрузка операции "=" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переделать в с++ http://www.cyberforum.ru/cpp-beginners/thread135699.html
uses crt; const dividers=;{дописать нужные} var s,temp,min:string; m:set of char; i:integer; begin clrscr;
C++ Деструктор, освобождение памяти Привет всем, пишу класс "вещественная матрица", написал деструктор и программа стала вылетать после его выполнения( Помогите разобраться где ошибка, вот код: Matrica.h #include <iostream> using... http://www.cyberforum.ru/cpp-beginners/thread135693.html
сапёр C++
здравствуйте извините, если повторяюсь (видела, что подобная тема была, причём не одна, но не нашла там того, что надо), но мне срочно нужна помощь надвигается конец семестра, нам дали задачу...
C++ Сортировка справочника по фамилиям
как сделать следующее: есть *.txt файл в котором записан примитивный телефонный справочник (в каждой строке записана фамилия, имя, город и номер телефона). Нужно чтобы программа сортировала этот...
C++ элементы массива http://www.cyberforum.ru/cpp-beginners/thread135669.html
надо чтоб элемент массива MAS был равен 5, а остальные равны 1, в чём ошибка? { int row,column; std::cout << "vvedite stroki: "; std::cin >> row; std::cout << "vvedite stolbci: "; std::cin...
C++ Редактирование строк в файлах Доброго вечера! Помогите пожалуйста написать программу, со строками, и как можно примитивнее (Предпочтительней на Си, с элементами С++). Свои наброски почти на нуле, поэтому не выкладываю. ... подробнее

Показать сообщение отдельно
Syndarin
13 / 13 / 1
Регистрация: 15.09.2009
Сообщений: 57
26.05.2010, 08:29
Думаю, что объясню не очень хорошо т.к. сам новичок в энтом деле. Но пример приведу, недавно делал лабу на эту тему:

В моей лабе была задача перегрузить оператор присваивания для установки исходного значения объекта класса "Дата". Т.е. необходимо было сделать, чтобы объекту присвоилось значение строки, введенной пользователем:

Вот описание перегрузки в hpp-файле:

C++
1
2
//=====OperatorOverload=====
    void operator= (char *temp);
Вот так это было реализовано:

C++
1
2
3
4
5
6
7
8
void CDateAddMonth::operator =(char *temp)
{   
    int dd, mm, yyyy;
    sscanf(temp, "%d.%d.%d", &dd, &mm, &yyyy);
    m_date_day=dd;
    m_date_month=mm;
    m_date_year=yyyy;
}
И вот так это было использовано в функции main():

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    CDateAddMonth MyDate;
    char temp[20];
    int plus;
    int error=1;
 
    while(error)//ввод даты пользователем
    {
        printf("Please set the date (q to exit): ");
        scanf("%s", temp);
        if(!(strcmp(temp, "q")))
            break;
        if(!(control(temp)))
        {
            printf("Your date is invalid!\n");
            continue;
        }
        [B]MyDate=temp;[/B]//присваивание
                ...................
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru