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

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

Восстановить пароль Регистрация
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
02.02.2014, 21:51     Объясните, что выполняет этот конструктор #1
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++ что выполняет функция size()
код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, как сделатьь так чтобы Студия воспринимала этот код?? C++
Ввести размер массива с клавиатуры и передать этот размер в конструктор C++
Что выполняет функция strlen()? C++
Объясните для чего нужен конструктор C++
C++ Что именно выполняет эта программа?
Разъяснить, что выполняет программа C++
Объясните подробно этот цикл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.02.2014, 22:07     Объясните, что выполняет этот конструктор #2
//k. po ymolchaniyu
Это конструктор по умолчанию(без параметров)
Класс представляет собой по всей видимости строку. В данном этапе программы этот класс умеет только создавать строку по умолчанию(содержащую "umolchanie")
А также содержит методы для работы со стандартым потоком, впрочем метод operator>>() написан явно не безопасно, т.к. может произойти переполнение буфера
alsav22
5282 / 4801 / 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     Объясните, что выполняет этот конструктор
Ответ Создать тему
Опции темы

Текущее время: 18:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru