Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 1
Регистрация: 05.09.2012
Сообщений: 41
1

Класс,метод,деструктор

30.04.2013, 10:38. Просмотров 732. Ответов 4
Метки нет (Все метки)

Доброго времени суток! Только начал изучать классы. Задачка у меня, написать прогу в которой отработает:конструктор, деструктор, метод и будут публичные и частные типы данных. Вроде бы по учебной инфе, во время изучения все было понятно, но как оказалось не все =) Может ко разъяснить почему компилятор ругается на тип возвращаемого значения деструктора, и почему не вызывается метод void show_abiturient(void); ?

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
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string.h>
using namespace std;
 
class abiturient
{    public:
    abiturient(char*,char*,int);   //конструктор
    ~abiturient(void);                  //деструктор
    void show_abiturient(void);  //прототип функфии(метод)
    private:
    char fam[64];
    char mesto[64];
    int ball;
};
    abiturient::abiturient(char *fam,char *mesto,int ball) //определение конструктора
    {
        strcpy(abiturient::fam, fam);
        strcpy(abiturient::mesto, mesto);
        abiturient::ball=ball;
    }
    void abiturient::~abiturient(void)
    {
        cout<<"inechtojenie ob'ekta dlia "<<fam<<endl;
    }
    void abiturient::show_abiturient(void)
 {
    cout<<"Familiya i iniciali: "<<fam<<endl;
    cout<<"Mesto postupleniya: "<<mesto<<endl;
    cout<<"stedniy ball"<<ball<<endl;
    }
    int main()
{
    abiturient stud1("Ivanov I.I.","Minsk",46);
    abiturient stud2("Pertov I.I.","Gomel",55);
 
    abiturient.show_abiturient();
 
    return 0;
}
||=== klass3, Debug ===|
D:\Download\klass3\main.cpp|21|error: return type specification for destructor invalid|
D:\Download\klass3\main.cpp||In function 'int main()':|
D:\Download\klass3\main.cpp|33|warning: deprecated conversion from string constant to 'char*'|
D:\Download\klass3\main.cpp|33|warning: deprecated conversion from string constant to 'char*'|
D:\Download\klass3\main.cpp|34|warning: deprecated conversion from string constant to 'char*'|
D:\Download\klass3\main.cpp|34|warning: deprecated conversion from string constant to 'char*'|
D:\Download\klass3\main.cpp|36|error: expected unqualified-id before '.' token|
||=== Build finished: 2 errors, 4 warnings ===|
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2013, 10:38
Ответы с готовыми решениями:

Класс: конструктор и деструктор
Возник вопрос. Если я в классе не делаюни одного данного с выделением динамической памяти, то как...

Дописать в класс конструкторы и деструктор
\Дописать в класс: конструктор, считывающий массив и его размерность с клавиатуры, конструктор,...

Класс, конструктор, деструктор и прочее
Добрый день. Есть задание: Написать программу работы с матрицами (матрица представляет собой...

Добавить в класс конструктор и деструктор
Помогите пожалуйста добавить в класс конструктор и деструктор. Заранее спасибо ) #include...

4
В астрале
Эксперт С++
8022 / 4779 / 654
Регистрация: 24.06.2010
Сообщений: 10,547
30.04.2013, 10:40 2
VitaliyH, Деструктор как и конструктор не имеет возвращаемого типа.
Метод нужно звать через объект (stud1, stud2), а не через класс.
И в конструкторе лучше принимать const char*, а не char*, тогда изчезнут ворнинги.
1
Грамотный. Безпорно.
16616 / 9655 / 1863
Регистрация: 27.09.2012
Сообщений: 23,955
Записей в блоге: 2
30.04.2013, 10:41 3
Цитата Сообщение от VitaliyH Посмотреть сообщение
почему компилятор ругается на тип возвращаемого значения деструктора
У деструктора не должно быть типа(даже void'а не должно быть)
1
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
30.04.2013, 10:53 4
Цитата Сообщение от ForEveR Посмотреть сообщение
Метод нужно звать через объект (stud1, stud2), а не через класс.
Если метод не является статическим.
1
4 / 4 / 1
Регистрация: 05.09.2012
Сообщений: 41
30.04.2013, 15:33  [ТС] 5
Всем спасибо, разобрался! Блин казалось бы мелочи, но все важно, ну утро вечера мудренее сработало p)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2013, 15:33

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

Абстрактный класс и его деструктор
Приветствую всех. Объясните, как правильно написать деструктор абстрактного класса. Знаю, что он...

Класс, конструктор, деструктор, дружественные функции
Нужна помощь с ООП. Вот задание: Общая постановка. Пользовательский класс Х должен содержать...

Добавить в класс хотя бы один конструктор и деструктор
Вот сама программа, заранее спасибо за помощь! #include &lt;iostream&gt; #include &lt;math.h&gt; ...

Деструктор для класс, имеющий указатель на самого себя
Здравствуйте. Дан класс, для него нужно написать деструктор. using namespace std; class List{...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.