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

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

Войти
Регистрация
Восстановить пароль
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
#1

Объясните, что выполняет этот конструктор - C++

02.02.2014, 21:51. Просмотров 221. Ответов 2
Метки нет (Все метки)

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
#include <iostream>
#include <cstring>
using namespace std;
class Str
{
 
    friend ostream& operator<<(ostream&, const Str&);
    friend istream& operator>>(istream&, Str&);
public:
   char* s; //predctavlenie
    //k. po ymolchaniyu
    Str()
    {
    s=new char(strlen("umolchanie"));
    strcpy(s,"umolchanie");
    }
};
 
int main()
{
    Str s;
     cout <<"Vvedite stroky"<<endl;
    cin >>s;
    cout <<s<<endl;
    system("pause");
    return 0;
}
 
ostream& operator<<(ostream& a, const Str& b)
{
    a <<b.s;
        return a;
}
 
istream& operator>>(istream& a, Str& b)
{
    a >>b.s;
        return a;
}
Что выполняет конструктор?? И что выполняет "umolchanie" и что за указатель char* s? Спасибо большое за ответы!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 21:51     Объясните, что выполняет этот конструктор
Посмотрите здесь:

Объясните какую работу выполняет цикл - C++
2. Что делает этот цикл for(int i=0; i &lt; 7; i++) crc^=*((unsigned short int *)buf1 + i); и в частности какой тип и значение...

Объясните подробно этот цикл - C++
for (int i = 0; i &lt; 6; i++){ cin &gt;&gt; x, a = x; } Что делает этот цикл? каким образом происходит присваивание? зачем мы используем...

Инициализация объектов через конструктор(объясните в чём ошибка) - C++
Вот программа! #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class GradeBook { public: GradeBook(); ...

Разъяснить, что выполняет программа - C++
#include &lt;iostream&gt; static const char s={ &quot;foo&quot;, &quot;bar&quot;, }; void test(const char s) { using std::cout; for (int i=0;...

Что выполняет функция strlen()? - C++
Как она работает в этой программе? Для чего она нужна здесь? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Что выполняет эта функция? - C++
void f1(char c) { int i, j; char s; for (i=0, c!='\0';i++); for (j=0, i--;i&gt;j; i--, j++) { s=c; c=c; c=s; } }

Что выполняет эта функция? - C++
int f4(char c) { int i, old, nw; for (i=0, old=0, nw=0; c='\0'; i++) { if (c==' ') old = 0; else...

Ввести размер массива с клавиатуры и передать этот размер в конструктор - C++
Я создал массив объектов. И я хочу ввести размер этого массива с клавиатуры, и передать этот размер в конструктор, как мне это сделать? ...

Что выполняет эта часть программы? - C++
Задача: Изменить порядок символов в строке S1 на обратный не используя других строк. Код программы: #include &quot;stdafx.h&quot; #include...

Что именно выполняет эта программа? - C++
Прокоментируйте пожалуйста что происходит в программе со строчки : /*максимальное из чисел, встречающихся в заданной матрице более одного...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.02.2014, 22:07     Объясните, что выполняет этот конструктор #2
//k. po ymolchaniyu
Это конструктор по умолчанию(без параметров)
Класс представляет собой по всей видимости строку. В данном этапе программы этот класс умеет только создавать строку по умолчанию(содержащую "umolchanie")
А также содержит методы для работы со стандартым потоком, впрочем метод operator>>() написан явно не безопасно, т.к. может произойти переполнение буфера
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.02.2014, 00:19     Объясните, что выполняет этот конструктор #3
C++
1
s = new char[strlen("umolchanie") + 1];
Добавлено через 2 минуты
Если есть поле-указатель, то вступает в действие правило трёх: http://ru.wikipedia.org/wiki/Правило...граммирование)

Добавлено через 1 минуту
Цитата Сообщение от bekabot Посмотреть сообщение
a >>b.s;
Чтение слова, но не строки.
Yandex
Объявления
03.02.2014, 00:19     Объясните, что выполняет этот конструктор
Ответ Создать тему
Опции темы

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