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

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

Восстановить пароль Регистрация
 
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
30.04.2013, 10:38     Класс,метод,деструктор #1
Доброго времени суток! Только начал изучать классы. Задачка у меня, написать прогу в которой отработает:конструктор, деструктор, метод и будут публичные и частные типы данных. Вроде бы по учебной инфе, во время изучения все было понятно, но как оказалось не все =) Может ко разъяснить почему компилятор ругается на тип возвращаемого значения деструктора, и почему не вызывается метод 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 ===|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2013, 10:38     Класс,метод,деструктор
Посмотрите здесь:

Класс: конструктор и деструктор C++
Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор C++
Класс "Матрица": конструктор, деструктор и перегрузка операторов C++
C++ Создать любой класс. Реализовать конструктор, деструктор, продемонстрировать работу
Класс, конструктор, деструктор, дружественные функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.04.2013, 10:40     Класс,метод,деструктор #2
VitaliyH, Деструктор как и конструктор не имеет возвращаемого типа.
Метод нужно звать через объект (stud1, stud2), а не через класс.
И в конструкторе лучше принимать const char*, а не char*, тогда изчезнут ворнинги.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
30.04.2013, 10:41     Класс,метод,деструктор #3
Цитата Сообщение от VitaliyH Посмотреть сообщение
почему компилятор ругается на тип возвращаемого значения деструктора
У деструктора не должно быть типа(даже void'а не должно быть)
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 10:53     Класс,метод,деструктор #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Метод нужно звать через объект (stud1, stud2), а не через класс.
Если метод не является статическим.
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
30.04.2013, 15:33  [ТС]     Класс,метод,деструктор #5
Всем спасибо, разобрался! Блин казалось бы мелочи, но все важно, ну утро вечера мудренее сработало p)
Yandex
Объявления
30.04.2013, 15:33     Класс,метод,деструктор
Ответ Создать тему
Опции темы

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