На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (14) [1] 2 3 ...  13 14 все  ( Перейти к последнему сообщению )  
> Классы в СИ++ , нужна консультация
    Описать на языке СИ++ класс Cat, содержащий информацию об одном коте (кличка и год рождения). Переменные класса должны быть закрытыми (private). Строку необходимо хранить массивом char. Класс должен содержать:
    - конструктор копирования;
    - конструктор, заполняющий все поля объекта значениями, помещены в параметрах;
    - методы для установки и получения значений полей объекта;
    - метод заполнения полей класса при помощи printf и scanf;
    - метод вывода информации о содержимом объекта на экран при помощи printf и scanf.



    Задание дали, а показать как это делается - не показали((( сама разобраться не могу!( :wall: :wall: :wall: :wall: :wall:
      Это элементарнейшая задача. Выкладывайте, то что уже сами написали, мы тут поможем, чем сможем.

      Цитата smailvolf @
      Задание дали, а показать как это делается - не показали(((

      Такого не бывает.

      Цитата smailvolf @
      сама разобраться не могу!( :wall: :wall: :wall: :wall: :wall:

      Не хочу или не могу?

      Ну вот например даже если загуглить, по первой попавшейся ссылке можно найти какие то уроки по классам С++ - http://programmersclub.ru/21/

      Добавлено
      И что конкретно не получается еще бы знать? Или за вас нужно написать задачу целиком?
        А что такое private, public и protected поля, конструктор, конструктор копии, вообще методы объясняли? И как они в определении класса размещаются?

        Добавлено
        Здесь вообще предпочитают объяснять, что неправильно, и как правильно, а не писать с нуля.
          Начало как-то так:
          ExpandedWrap disabled
            class Cat
            {
                private:
                  int god; // год рождения
                  char kli4ka[32]; // кличка, ANSI
                public:
                  Cat( int g, char *kli) { god=g; strncpy(kli4ka,kli,31); } // конструктор
                  void Print(void) { printf("Год рождения котяры: %d, кличка особи: %s\n", god, kli4ka); } // вывод
                  int GetGod(void) { return god; } // метод возвращения года
                  int SetGod(int g) { god=g; return g>=0; } // 0-отрицательный год, 1-нормальный
            };
          Сообщение отредактировано: Славян -
            Цитата Славян @
            int god; // год рождения

            ИМХО это не год рождения, а Бог :D год будет както так -> year :)

            Цитата Славян @
            kli4ja

            Мат какойто. :D
              Цитата KILLER @
              Мат какойто. :D
              Ну бывает, бывает. :blush:
              Цитата KILLER @
              год будет както так -> year
              А вдруг они французский учат?.. :scratch:
                Цитата Славян @
                А вдруг они французский учат?.. :scratch:

                Действительно, в перемешку с русскими коментами и английскими словами.

                Добавлено
                Еще у тебя лажа будет, если я в конструктор передам кличку в 32 символа или больше.

                Добавлено
                Цитата Славян @
                Cat( int g, char *kli) { god=god;

                Тоже эпичная ошибка.
                  Цитата KILLER @
                  Тоже эпичная ошибка.
                  Спешил, прошу пардона. :'(
                  Цитата KILLER @
                  Еще у тебя лажа будет, если я в конструктор передам кличку в 32 символа или больше.
                  Таких длинных не бывает. Хотя... в современном мире как только не извратятся. :yes-sad:
                    Цитата Славян @
                    Таких длинных не бывает. Хотя... в современном мире как только не извратятся. :yes-sad:

                    Бывает. Всегда защиту от дурака делать нужно. А у тебя переполнение буфера будет при 32 символах, плюс ко всему последний символ ты '\0'-ем не инициализируешь.
                      Цитата KILLER @
                      Бывает. Всегда защиту от дурака делать нужно.
                      Вы хотите, чтобы дама универсум сразу выдала? Если хоть на троечку вытянет - уже будет повод задуматься. :unsure:
                        Цитата Славян @
                        Вы хотите, чтобы дама универсум сразу выдала?

                        Ну на месте препода, в первую очередь - я бы посмотрел код программы, и увидев твой код, мне очень захотелось бы ввести 40 символов.

                        Цитата Славян @
                        Если хоть на троечку вытянет - уже будет повод задуматься. :unsure:

                        Троечку думаю и так поставят, за красивые глаза.

                        Добавлено
                        Славян, тебе еще последний элемент занулить нужно. То что ты исправил - это круто конечно. Но у тебя скорее всего массив будет содержать абракадабру, ты ж его нулями не инициализируешь. Поэтому при выводе printf'ом - дай боже, чтоб у тебя не упала прога с икцепшином.
                        Сообщение отредактировано: KILLER -
                          Цитата KILLER @
                          Ну на месте препода, в первую очередь - я бы посмотрел код программы, и увидев твой код, мне очень захотелось бы ввести 40 символов.
                          Да вы жутко злой препод!.. >:( ;)
                          Цитата KILLER @
                          Троечку думаю и так поставят, за красивые глаза.
                          В программировании красивые глаза плоховато котируются. Супыч докажет, надеюсь. :yes-sad:
                            К слову ты совсем неверно написал свой strncpy. Последним параметром - нужно передавать длину строки, которую передают в конструктор, а не 31.

                            Добавлено
                            Цитата Славян @
                            Да вы жутко злой препод!.. >:( ;)

                            Почему? :unsure:

                            Цитата Славян @
                            В программировании красивые глаза плоховато котируются. Супыч докажет, надеюсь. :yes-sad:

                            Ну смотря что за универ тоже.
                              Цитата KILLER @
                              Славян, тебе еще последний элемент занулить нужно. То что ты исправил - это круто конечно. Но у тебя скорее всего массив будет содержать абракадабру, ты ж его нулями не инициализируешь. Поэтому при выводе printf'ом - дай боже, чтоб у тебя не упала прога с икцепшином.
                              Ну я не хочу универсум строить! И по этому дурацкому strncpy вопросы могут возникнуть к даме... Не, надо самóй чрез это пройти. :yes-sad:
                                Цитата KILLER @
                                К слову ты совсем неверно написал свой strncpy. Последним параметром - нужно передавать длину строки, которую передают в конструктор, а не 31.

                                А все что после - занулить нужно. И вообще занулить массив в первую очередь нужно было.

                                Добавлено
                                Цитата Славян @
                                у я не хочу универсум строить! И по этому дурацкому strncpy вопросы могут возникнуть к даме... Не, надо самóй чрез это пройти. :yes-sad:

                                Так вот в том вся и делема :D А ты выдал класс ей какойто - ты ее запутаешь больше. Нужно было выдать или сразу что то рабочее, или хотя бы не делать таких явных ошибок.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (14) [1] 2 3 ...  13 14 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0726 ]   [ 15 queries used ]   [ Generated: 28.04.24, 05:28 GMT ]