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

Перегрузка оператора присваивания - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как вставить элемент в массив? Код написал, но не до конца) http://www.cyberforum.ru/cpp-beginners/thread674446.html
Как вставить элемент в массив? Код написал, но не до конца) #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL,"ukrainian"); int n, a, x; cout << "Введiть розмiр масива: "; cin >> n; cout << endl;
C++ в общих чертах представляю,но как это реализовать? Ввести строку, заменить интервалы между словами на 2 пробела. http://www.cyberforum.ru/cpp-beginners/thread674439.html
C++ Ошибка в коде, по массивам
#include <iostream> #include <string> #include <cstring> using namespace std; int main() { char array1; char array2; int lenghtArray1; int number=0; cout<<"Enter the your message\n";
Составить регулярное выражение, пропускающее строки, являющиеся целыми числами в заданном диапазоне C++
Ребя помогите пожалуйста. Я ничего не понимаю из того что ниже написано, а лабораторную по теории автоматов сдать надо! Для каждого из заданий необходимо подобрать по 10 примеров - удовлетворяющих условию и не удовлетворяющих. Примеры можно поместить в текстовый файлик, и программа должна будет его зачитать. Рекомендуется использовать для каждой строки функцию Regex.IsMatch(“^(…)$”) – где...
C++ Поменять местами первый и последний элемент массива (исправить код) http://www.cyberforum.ru/cpp-beginners/thread674412.html
Почему массив не не меняет первый и последний элемент местами? #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL,"ukrainian"); int n, a, x; cout << "Введiть розмiр масива: ";
C++ Предупреждения компилятора об использовании неинициализированных переменных #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> #define n 5 #define m 5 #define p 5 #define q 5 const int N = 20; подробнее

Показать сообщение отдельно
Артем Смирнов
6 / 6 / 1
Регистрация: 15.05.2012
Сообщений: 40
19.10.2012, 07:18  [ТС]     Перегрузка оператора присваивания
Croessmah, А ну да , действительно почему в этом примере нет конструктора копии тогда, если ф-ия возвращает объект (до этого в этой книге они использовались).

А если такой вариант сделать:
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
class str_type {
     char string[80];
public: 
      //...........
      str_type& operator=(const char *str); // Присваиваем строку с завершающим нулем объекту типа str_type
      str_type& operator=(const str_stype &str); // Присваиваем один объект типа str_type другому
};
//........Собственно их код
 
// 1.Присваиваем один  объект типа str_type другому
 
str_type& str_type::operator=(const str_type &str) //обрати внимание на const и на & в возвращаемом значении
{
      strcpy(string, str.string);
      return *this;
}
 
// 2.Присваиваем строку с завершающим нулем объекту типа str_type
 
str_type& str_type::operator=(const char *str) //обрати внимание на const и на & в возвращаемом значении
{
      strcpy(string, str);
      return *this;
}
Он корректен?
 
Текущее время: 23:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru