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

вложенные классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сложно ли перейти с C/C++ на с# ,и сильное ли различие в них? http://www.cyberforum.ru/cpp-beginners/thread811637.html
Господа тут не давно подал своё резюме на вакансию програмиста,дали задание написать тетрис на с# ,но вот не задача знаю я с++ и с ,теперь вопрос сложно будет перейти с того что я знаю на с# ,и сильное различие в них?
C++ Работа со строками (подсчитать количество предложений) в введенном с клавиатуры тексте подсчитать количество предложений(конец предложения обозначается . ! ?) в которые входит заданное с клавиатуры слово http://www.cyberforum.ru/cpp-beginners/thread811635.html
Визуализатор быстрой сортировки C++
Добрый день! Нужно написать программу, которая иллюстрирует работу быстрой сортировки. В частности должно присутствовать: *вывод пояснения к каждому шагу алгоритма *работа в пошаговом и автоматическом режиме, *регулировка скорости автоматического выполнения *возможность отката на любое количество шагов назад, *работа как с предварительно заданными, так и со случайными и введёнными...
C++ При компиляции консоль появляется на несколько секунд не смотря на то что
#include <windows.h> #include <stdio.h> #include <strsafe.h> #include <malloc.h> #include <conio.h> #define BUFSIZE MAX_PATH int main(int argc, char *argv) {
C++ Многоугольник в пространстве http://www.cyberforum.ru/cpp-beginners/thread811607.html
Добрый день! :) Не могли бы вы мне помочь? У меня такая задача. Даны две точки A и B в трёхмерном пространстве, которые образуют вектор. А еще дан отрезок R. Как в трехмерном пространстве построить n-угольник, который лежит в плоскости, перпендикулярной вектору AB и который вписан в окружность радиусом R (например, на картинке построен шестиугольник)? Т.е. надо просто получить координаты (в...
C++ Работа с файлами (программа,которая открывала бы файл и заменяла в нём комбинации 2 пробела на 1 пробел, строчные буквы после ' .' и ' ' на заглавные) Здравствуйте! Помогите пожалуйста, нужно написать программу,которая открывала бы файл и заменяла в нём комбинации 2 пробела на 1 пробел, строчные буквы после ' .' и ' ' на заглавные. Читала,что нужно использовать операцию Uppercase, но не пойму как. подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.03.2013, 11:55     вложенные классы
Здорова господа!
Снова мучаю класс String еще не замучал.
Не могу скомпилировать программу с вложенным классом вот код:
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
#include <iostream>
using std::cout;
using std::endl;
 
class String
{
    struct Srep;//predctavlenie
    Srep* rep;//ykazatel6
    
public:
    void read(int i)
    {
        cout <<rep->s[i];
    }   
    
};
 
struct String::Srep
{
    char* s;//ctroka
    int sn;//kol cimvolov
};
 
int main()
{
    
    
    return 0;
}
Я взял кусочек смоделировал ошибку которая у меня вылазит, от сама ошибка:

./test8.cpp: В функции-члене «void String::read(int)»:
./test8.cpp:13:13: ошибка: invalid use of incomplete type «struct String::Srep»
./test8.cpp:7:9: ошибка: forward declaration of «struct String::Srep»


Ну теперь о самой сути в обрамляющем классе вложенный класс можно просто объявить, а определить можно и за пределами класса, что я и сделал, так почему же у меня вылазит ошибка? (Это не я придумал это в книге так написано, а на практике фигня выходит).

Кода создаю определение класса внутри String, то компилится как положено.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru