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

Замена структуры с функциями на класс с методами - C++

Восстановить пароль Регистрация
 
Beretnash
 Аватар для Beretnash
5 / 5 / 2
Регистрация: 14.07.2014
Сообщений: 22
08.08.2014, 14:36     Замена структуры с функциями на класс с методами #1
Заменить код приведенный ниже на соответствующие объявление класса golf. Замените функцию
C++
1
setgolf(golf & g, const char*name, int hc);
конструктором с соответствующими аргументами для обеспечения инициализации значений.

Сама структура.
C++
1
2
3
4
5
6
7
const int Len = 30;
struct golf 
{
char fullname[Len];
int handicap;
};
void setgolf(golf & g, const char*name, int hc);
Помогите, пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2014, 14:36     Замена структуры с функциями на класс с методами
Посмотрите здесь:

строки/структуры (С самыми простейшими функциями и библиотеками) C++
C++ Создать класс с пятью методами
Класс строк с различными функциями C++
C++ задача на абстрактные классы (создать абстрактный базовый класс с виртуальными методами вычисления ф-ции y=f(x) в заданной точке х)
C++ Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
08.08.2014, 14:42     Замена структуры с функциями на класс с методами #2
Цитата Сообщение от Beretnash Посмотреть сообщение
Замена структуры с функциями
Но в структуре нет функций.
Возможно вы имели ввиду "структуры и функции"?
В чем собственно сложность?
C++
1
2
3
4
5
6
7
8
9
class golf
{
public:
    setGolf( golf &g, const char *name, int hc );
private:
    int Len = 30;
    char fullname[ Len ];
    int handicap;
};
RussBear
 Аватар для RussBear
1 / 1 / 1
Регистрация: 06.08.2014
Сообщений: 77
08.08.2014, 14:42     Замена структуры с функциями на класс с методами #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class golf
{
    const int Len = 30;
    char* fullname;
    int handicap;
 
public:
    golf(const char*str,const int lenght, const int hc){
        fullname = new char[lenght];
        for (int i = 0; i < le; ++i)
        {
            fullname[i] = str[i];
        }
        handicap = hc;
    }
    ~golf();
 
    /* data */
};
gru74ik
Модератор
 Аватар для gru74ik
3122 / 1348 / 167
Регистрация: 20.02.2013
Сообщений: 3,866
Записей в блоге: 18
08.08.2014, 14:49     Замена структуры с функциями на класс с методами #4
  • Прочитайте в книжке главу про классы (15 минут).
  • Проставьте напротив каждой строчки приведённого Вами кода комментарии, разъясняющие, что происходит в коде. Для этого прочитайте в книжке про структуры (15 минут).
  • Профит == пол-часа не напрасно потраченного времени + законная гордость собственного маленького, но вполне реального свершения + опыт + повышение самооценки.
Beretnash
 Аватар для Beretnash
5 / 5 / 2
Регистрация: 14.07.2014
Сообщений: 22
08.08.2014, 14:50  [ТС]     Замена структуры с функциями на класс с методами #5
Спасибо)
gru74ik, я прочитал, даже пересмотрел по новой, но вот этот аргумент
C++
1
golf &g
был непонятен, как его переносить в классы
Но уже понял
gru74ik
Модератор
 Аватар для gru74ik
3122 / 1348 / 167
Регистрация: 20.02.2013
Сообщений: 3,866
Записей в блоге: 18
08.08.2014, 14:56     Замена структуры с функциями на класс с методами #6
Цитата Сообщение от Beretnash Посмотреть сообщение
вот этот аргумент был непонятен:
C++
1
golf &g
В данном случае, операция амперсанда (значок &) означает, что символ g - это ссылка на golf (гуглим references C++ &). Говоря совсем просто - g теперь то же самое, что и golf (или ещё можно так сказать: g назначается псевдонимом имени golf).
Yandex
Объявления
08.08.2014, 14:56     Замена структуры с функциями на класс с методами
Ответ Создать тему
Опции темы

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