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

Объясните про инициализацию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Введите вектор с элементами double и сортируйте его по возрастанию. http://www.cyberforum.ru/cpp-beginners/thread449012.html
Помогите пожалуйста написать следующие программы. Хотя бы 2-3 штуки. Заранее спасибо. 1. Введите вектор с элементами double и сортируйте его по возрастанию. 2. Введите вектор с элементами float и найдите его длину. 3. Введите вектор и найдите его норму: модуль координаты с наибольшей абсолютной величиной. 4. Введите вектор и найдите его норму: сумму абсолютных величин координат. 5....
C++ Треугольник из кругов. Здравствуйте! Помогите нарисовать треугольник из нечетных кругов. Чтоб каждый ряд был разного цвета. Догадываюсь, что надо решать через цикл, а как реализовать не понимаю. http://www.cyberforum.ru/cpp-beginners/thread449010.html
C++ матрица
помогите написать программу очень надо для зачета по программированию
C++ Шаблонные функции
1) Написать шаблонную функцию для нахождения минимального из трех передаваемых чисел (для чисел типа int, double, char). В функции использовать турнирных оператор. 2) Написты перегружены (overload) шаблонные функции для нахождения корней линейного (ax + b = 0) и квадратного (ax2 + bx + c = 0) уравнения. 3) Написaты встроенную (inline) функцию для нахождения стоимости покупки. В качестве...
C++ Логический тип данных http://www.cyberforum.ru/cpp-beginners/thread448994.html
как можно обернуть с False на True и на оборот Например: переменная b сожержит True какой командой можно менять ее значение на противоположное?
C++ Протабулировать функцию Протабулировать функцию на С++. подробнее

Показать сообщение отдельно
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149

Объясните про инициализацию - C++

19.02.2012, 17:56. Просмотров 682. Ответов 16
Метки (Все метки)

Реализовал свой класс для строки (в качестве практики изучения c++)

это не так важно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TString
{
    char* p;
    int size;
public:
    TString(){ size = 0; p = NULL; };
    TString(const char*);
    TString(const TString&);
    ~TString(){if(p) delete [] p;};
    TString& operator=(const TString);
    int length(){ return size;}
    friend ostream& operator<<(ostream&, TString);
};

Класс самый обычный, реализация методов не так важна... Есть следующие строчки в main():

Tstring s("Hello world!");
Tsring s1 = s;
s = s1;
s1 = "Hello!";

Какие методы должны вызываться в каждой строчке?
Tstring s("Hello world!") - вызывается TString(const char* s)
Tsring s1 = s - вызывается TString(const TString& s)
s = s1 - вызывается TString(const TString& s)
s1 = "Hello!" - вызывается TString(const char* s) а за ним в след TString& operator=(const TString);

Интересует последняя строчка, почему идёт два вызова?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru