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

Классы, конструктор копирования (разбор куска программы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ теоритический вопрос - память http://www.cyberforum.ru/cpp-beginners/thread567014.html
как вычислить адрес(реальный , а не тот который нам ядро подсовывает) какого либо объекта в виртуальной памяти? Добавлено через 5 минут имеется в виду 32 битная адресация
C++ Решение половинным делением. Составить функцию нахождения корня F(x) = 0 методом деления напополам. Интервал разбить на отрезки с шагом h. Уравнение x*x*x -2 = 0; , h = 0.5. #include <cmath> #include <iostream> #define pi 3.14 using namespace std; double f(double x) { http://www.cyberforum.ru/cpp-beginners/thread567012.html
Перегрузка операции + C++
Всем привет! Ребята, обясните, пжлста, почему конструктор вызывается дважды. Rational integer1( c, d ),h;// инициализация h ( здесь я понимаю почему вызывается конструктор) h=integer + integer1;// а почему вызывается здесь не пойму, ведь должен вызываться operator = Заранее спасибо.
Мартица C++
В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.
C++ Заменить в строке все целые числа соответствующим повторением следующего за ними символа (например, «abc5xacbl5y» - «abcxxxxxacbyyyyyyyyyyyyyyy»). http://www.cyberforum.ru/cpp-beginners/thread566968.html
Заменить в строке все целые числа соответствующим повторением следующего за ними символа (например, «abc5xacbl5y» - «abcxxxxxacbyyyyyyyyyyyyyyy»).
C++ ошибка в прорамме. выдаёт отрицательный ответ Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известное количество N членов ряда Функция Условие Началььные данные n 10 х=2,1 Е=sqrt(k*x)*cos(k*x) k=1 #include<iostream.h> подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
06.05.2012, 22:03     Классы, конструктор копирования (разбор куска программы)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class string{
   char *str; //Здесь храним текст строки
   void load(char *s)    { str=strdup(s); }// копирование строки
   void add(char *s)     { str=(char*)realloc(str,strlen(str)+strlen(s)+1);// слияние 2 строк
                         strcat(str,s); }
   int find(char *s)     { char *p=strstr(str,s); return p==NULL ? -1 : p-str; }//поиск подстроки
   int cmp(string &t)    { return strcmp(str,t.str); }// сравнение строк
public:
   string(){ load(""); }// конструктор без параметров
   string(char *s){ load(s); } // конструктор из текстовой строки
   string(string &t){ load(t.str); add(t.str+1); } // копиконструктор
   ~string() { delete str; } // деструктор
   string   &operator=(string &r) { delete str; load(r.str); return *this; }// перегрузка операции "равно"
   string   operator+(string &r) { string t(str); t.add(r.str); return t; }//перегрузка сложения строк
   };
   string &EMPTY(string &s) { return s; } // функция, которая ничего не делает.
 
void main(){
   string s1,s2("ab"),s3;// s1,s3 пустые строки, s2 - строка с ab
   s3=s2;// копирование строки через оператор =
   s1=EMPTY(s2);// копирование строки через оператор = и пустую функцию.
   }
 
Текущее время: 23:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru