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

Не объясните в чём разница между случаями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со строками и символами, лаба http://www.cyberforum.ru/cpp-beginners/thread893482.html
Проверить правильность написания знаков пунктуации. Слева от знака пунктуации пробел не ставится, справа ставится один пробел. Исправленный текст напечатать. я только считал из файла:cry: #include <stdio.h> #include <conio.h> #include <string.h> void main(void) { FILE *f1; char s1; f1 = fopen("input.dat", "r"); do
C++ Определить, верно ли, что для каждой точки А принадлежащей М существует точка B принадлежащая M 1.Задано множество M точек на плоскости. Определить, верно ли, что для каждой точки А принадлежащей М существует точка B принадлежащая M (A≠B) такая, что не существует двух точек множества M, лежащих по разные стороны от прямой АВ. Помогите пожалуйста с решением, завтра экзамен)* http://www.cyberforum.ru/cpp-beginners/thread893479.html
C++ Тестирование по двусвязным спискам
Я два вопроса додумать не могу... может кто придумает?) 1. Из чего состоит двусвязный список? a) Поля. b) Узлы. c) Указатели. 2. Какой указатель указывает на последний узел списка? a) Head. b) Next.
C++ СРОЧНО!Параллельное программирование С++ с OIpenMP
Добрый день кто нибудь может мне пожалуйста скинуть легкую задачку с парал. прогр. завтра надо показать. Любую(пример сортировки, матрицы и т.д.) ОЧЕНЬ ПРОШУ!!!!
C++ Реализация алгоритма сортировки вставками http://www.cyberforum.ru/cpp-beginners/thread893460.html
Мне нужно сделать лабу тема вверху... перед этим прочитал тему http://www.cyberforum.ru/cpp-beginners/thread27084.html все равно не понял как связать, допустим, массив и этот алгоритм. Помогите пожалуйста
C++ Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания #include <iostream.h> #include <fstream.h> #include <string.h> int main() { char buf; ifstream input("input.txt"); подробнее

Показать сообщение отдельно
Юрий Ч
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 149
06.06.2013, 16:55     Не объясните в чём разница между случаями
Привет!
Тут вот небольшой вопросик по поводу. Читаю книжку Страуструпа нашего и возник вопросик.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//---------------------------------------------------------------------------
 
// Так делать нельзя. Неопределенная структура 'X'. Рекурсивное определение.
 
class X {
    X x;
};
 
 
//---------------------------------------------------------------------------
 
 
// Так делать можно.
 
class X {
    X *x;
};
 
 
//---------------------------------------------------------------------------
 
 
class Date {
 
    private:
 
        int d, m, y;
        static Date default_date;   // Так делать можно, но непонятно почему. Вроде же как тоже рекурсия?
 
    public:
 
        Date(int dd = 0, int mm = 0, int yy = 0);
        static void setDefault(int dd, int mm, int yy);
 
};
 
 
//---------------------------------------------------------------------------
 
 
Date::Date(int dd, int mm, int yy) {
 
    d = dd ? dd : default_date.d;
    m = mm ? mm : default_date.m;
    d = yy ? yy : default_date.y;
 
}
 
 
//---------------------------------------------------------------------------
 
 
Date Date::default_date(16, 12, 1770);
 
 
//---------------------------------------------------------------------------
 
 
void Date::setDefault(int dd, int mm, int yy) {
 
    Date::default_date = Date(dd, mm, yy);
 
}
 
 
//---------------------------------------------------------------------------
В примере с классом Date. Есть статический член этого же типа. Вроде как идёт рекурсивное определение, но и компилятор и Страуструп говорят, что всё нормально тут. Не объясните в чём разница между случаями с

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
// Так делать нельзя. Неопределенная структура 'X'. Рекурсивное определение.
 
class X {
    X x;
};
 
// и
 
//---------------------------------------------------------------------------
 
class Date {
 
    private:
 
        int d, m, y;
        static Date default_date;   // Так делать можно, но непонятно почему. Вроде же как тоже рекурсия?
 
.....
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru