Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для oleszka
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 13

Поля класса

28.06.2012, 00:28. Показов 1041. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте ) извините заранее если глупый вопрос я просто новичок)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class mycl {
       public:
        char  a[], b[];
};
 
int main()
{
        mycl pr;
 
        cin>>pr.a;
        cin>>pr.b;
 
        getch();
        return 0;
}

Почему в экземпляр pr попадает два раза строка "asd". Почему не так - pr: {"qwe","asd"} ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2012, 00:28
Ответы с готовыми решениями:

Конструктор внутри класса, поля которого являются членами другого класса
Вот фрагмент кода. class Class_Figure { Class_Triangle tr1; Class_Circle cr1; public: Class_Figure() { } void...

Использование в качестве поля класса указатель на объект другого класса
Ошибка в названии - "указателЯ" Вот, пытаюсь освоить ООП (пока только учусь): создаю класс person (человек) и car (модель машины). ...

Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать?
Скажу сразу, а то сейчас начнется, что я прекрасно понимаю, что поля класса при объявлении инициализировать нельзя. Можно конструктором при...

8
387 / 214 / 102
Регистрация: 09.04.2012
Сообщений: 635
28.06.2012, 00:54
У меня не скопилировалось
error C2229: class 'mycl' has an illegal zero-sized array
0
 Аватар для alexey31415
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
28.06.2012, 01:37
Цитата Сообщение от oleszka Посмотреть сообщение
char *a[], b[];
попробуйте указать длину массива или использовать char * вместо char
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.06.2012, 01:55
Добавь после считывания cin.ignore()
Все дело в том, что в потоке остается символ '/n' после нажатия Enter и он идет в след. строку.
Да и массивы у тебя чудные. Объявил бы размерность, что ли. Динамические (со *) использовать не советую, с памятью намучаешься.
0
 Аватар для alexey31415
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
28.06.2012, 09:31
Цитата Сообщение от MrGluck Посмотреть сообщение
Все дело в том, что в потоке остается символ '/n' после нажатия Enter и он идет в след. строку.
Не спорю,но как он заполняет первый массив второй строкой
Цитата Сообщение от oleszka Посмотреть сообщение
char *a[], b[];
Сделайте так
C++
1
2
3
4
char a[4], b[4];
//размерность 4,так как записываются 3 символа и завершающий нуль-символ
//или можно так
char *a[4], b[4];
1
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
28.06.2012, 11:59
Цитата Сообщение от oleszka Посмотреть сообщение
class mycl {
* * * *public:
* * * * char *a[], b[];
};
а вы не думали конструктор слелать
C++
1
2
3
4
5
6
7
mycl::mycl(char *s1,char *s2)
{
a=new char[strlen(s1)];
b=new char[strlen(s2)];
strcpy(a,s1);
strcpy(b,s2);
}
Добавлено через 5 минут
oleszka, для переменных типа char* всегда должна быть выделена память если вы хотите работать с ними
1
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
28.06.2012, 12:02
Van111, тогда уж
C++
1
2
3
4
a = new char[strlen(s1) + 1];
b = new char[strlen(s2) + 1];
strcpy(a,s1);
strcpy(b,s2);
2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.06.2012, 12:52
Ну тогда уж надо и деструктор, конструктор копий и оператор присвоения.
1
 Аватар для oleszka
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 13
28.06.2012, 15:00  [ТС]
ааааа.. я понял. точно длина!
еще попробую конструктор. СПАСИБо всем )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.06.2012, 15:00
Помогаю со студенческими работами здесь

В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО!
Друзья! Почему так? #include <windows.h> #include <iostream> using namespace std; //Вот главный класс class A{ ...

Поля класса const, методы класса const, объекты класса const
привет услышал , что есть методы и поля , и объекты const. говориться что если я сделаю вот так #include...

поля класса
Задача заключается в поиске площади треугольника через класс. Программой должна быть предусмотрена проверка корректности ввода сторон...

Static поля класса
объясните нубу, вот имею я такой код на С# class WebResponse { public static string GET(string Url, string Data) ...

Statiс Поля Класса
Имея класс class Worker { static const int Part2 = 0x22; static const int Part3 = 0x44; public: static int Part1; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru