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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dima170892
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 11
#1

Класс Anketa - C++

15.09.2010, 01:16. Просмотров 676. Ответов 1
Метки нет (Все метки)

Объясните что делает етот фрагмент програмы и есть ли в нем ошибки (где).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
...
class Anketa
{   char *fam;
    char *name;
     public:
    Anketa ();
    ~Anketa (char *str);
    char *getfam() {return fam};
    char *getname() {return name;}
};
Anketa :: Anketa()
{ cout << "Работает конструктор.\n";
}
Anketa :: Anketa(char *str)
{ strcpy (fam, str);
}
...
main()
{Anketa Ank;
cout<<Ank.fam<<Ank.name<< "\n";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2010, 01:16     Класс Anketa
Посмотрите здесь:

Класс Person. Класс String C++
C++ Тип данных "Anketa" - не получается ввести пол
C++ Оцените класс больших чисел класс big_int
Класс строка, класс текст, агрегация C++
Класс двумерная точка и класс многоугольник C++
C++ Класс данных, класс сортировок
C++ Класс объявление с элементом типа класс Текст
Разработать класс и производный класс C++
Класс А не принимает член-переменную с типом класс Б C++
Класс создающий другой класс (ошибка) C++
C++ Класс создающий класс и любого его наследника
C++ Наследование. Класс Круг и класс эллипс

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
15.09.2010, 01:28     Класс Anketa #2
main() неправильно. int main() - правильно.
C++
1
2
3
Anketa :: Anketa(char *str)
{ strcpy (fam, str);
}
C++
1
~Anketa (char *str);
может все таки так?
C++
1
Anketa(char *str);
Насколько я помню - нехорошо. Нет выделения памяти под fam.
C++
1
cout<<Ank.fam<<Ank.name<< "\n";
- неверно. ибо переменные в private секции.
C++
1
cout<<Ank.getfam()<<' '<<Ank.getname()<<'\n';
- верно. Правда если учитывать, что name ничем не заполнено и это указатель - ничего хорошего из этого не выйдет.

Не делает он почти ничего. Объявляется класс. В нем два поля char*. И функции для работы с классом.
Два конструктора и два геттера. В мейне создается объект класса. И выводятся его поля, но так как они не проинициализированны вообще ничем - то все будет плохо. Ошибка или просто ничего не выведется
Yandex
Объявления
15.09.2010, 01:28     Класс Anketa
Ответ Создать тему
Опции темы

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