Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
1

Не распознает класс

07.02.2014, 20:17. Показов 1649. Ответов 30
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вообщем код файлы Prepod.h:
C++ (Qt)
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
#ifndef PREPOD_H_
#define PREPOD_H_
#include <string>
 // объявление класса
class Prepod
{
private:
    std::string fam; //фамилия
    std::string name; //имя
    std::string post ;//должность
    std::string kaf; //кафедра
public:
    
        void set_name(std::string prepod_name);
 
        // Получение имени препода
        std::string get_name();
 
        void set_fam(std::string prepod_fam);
         std::string get_fam();
 
 
         void set_post(std::string prepod_post);
         std::string get_post();
 
         void set_kaf(std::string prepod_kaf);
         std::string get_kaf();
 
};
 
 
#endif
Тут все норм, определяю поля с данными класса и методы.
Файл prepod.cpp:
C++ (Qt)
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 "prepod.h"
#include "stdafx.h"
#include <string>
 
 
 void Prepod::set_name(std::string prepod_name)  // Установка имени препода
        {
            Prepod::name = prepod_name;
        }
 
        // Получение имени препода
        std::string Prepod::get_name(){
          return name;
        }
 
        void Prepod::set_fam(std::string prepod_fam)// Установка фамилии препода
        {
            Prepod::fam=prepod_fam;
        } // Получение фамилии препода
         std::string Prepod::get_fam(){
          return fam;
        }
 
 
         void Prepod::set_post(std::string prepod_post) // Установка должности препода
         {
            Prepod::post=prepod_post;
        } 
         // Получение имени препода
         std::string Prepod::get_post(){
          return post;
        }
 
         void Prepod::set_kaf(std::string prepod_kaf){
            Prepod::kaf=prepod_kaf;
        }
         std::string Prepod::get_kaf(){
          return kaf;
        }
И тут же сразу начинаются ошибки, типа "error C2653: Prepod: не является именем класса или пространства имен" , хотя Prepod-как раз имя класса!
И соответственно ошибки - post,kaf,name,fam - необъявленные идентификаторы...

Добавлено через 4 минуты
Помогите пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2014, 20:17
Ответы с готовыми решениями:

Не распознает класс HttpResponse
Есть следующий фрагмент кода, который обрабатывает нажатие кнопки, через swing. К проекту...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { ...

G++ не распознает nullptr
Компилятор gcc4.5 флаг -std=gnu++0x но не распознает nullptr почему то Build Prog_name...

JS не распознает буквы
Добрый день, уважаемые форумчане. Такая история, js не распознает некоторые буквы на сербском...

30
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
07.02.2014, 20:18 2
к проекту оба файла подключены ? каким компилятором пользуетесь?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 20:22  [ТС] 3
Компилятор - Visual Studio
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 20:27 4
Цитата Сообщение от r00712 Посмотреть сообщение
C++
1
Prepod::name = prepod_name;
C++
1
name = prepod_name;
Аналогично в других местах.
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
07.02.2014, 20:28 5
файлы создавал таким путем: Проект -> Добавить новый элемент...
?

Добавлено через 1 минуту
а ну KOPOJI уже разобрался
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 20:34  [ТС] 6
Цитата Сообщение от KOPOJI Посмотреть сообщение
C++
1
name = prepod_name;
Аналогично в других местах.
Исправил, кол-во ошибок уменьшилось, но все же 16 штук осталось..)
C++ (Qt)
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 "prepod.h"
#include "stdafx.h"
#include <string>
 
 
 void Prepod::set_name(std::string prepod_name)  // Установка имени препода
        {
          name = prepod_name;
        }
 
        // Получение имени препода
        std::string Prepod::get_name(){
          return name;
        }
 
        void Prepod::set_fam(std::string prepod_fam)// Установка фамилии препода
        {
            fam=prepod_fam;
        } // Получение фамилии препода
         std::string Prepod::get_fam(){
          return fam;
        }
 
 
         void Prepod:: set_post(std::string prepod_post) // Установка должности препода
         {
             post=prepod_post;
        } 
         // Получение имени препода
         std::string Prepod:: get_post(){
          return post;
        }
 
         void Prepod:: set_kaf(std::string prepod_kaf){
             kaf=prepod_kaf;
        }
         std::string Prepod:: get_kaf(){
          return kaf;
        }
post,kaf,name,fam - необъявленные идентификаторы, а Prepod все еще не является именем класса
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 20:37 7

Не по теме:

Цитата Сообщение от jurok_85 Посмотреть сообщение
а ну KOPOJI уже разобрался
вообще, насколько помню, доступ должен предоставляться и так, как в примере, поэтому просто предположение..


А сам код main показать не хотите? И да, необъявленные или неинициализированные?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 20:41  [ТС] 8
C++ (Qt)
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
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    Prepod Pr1;
    std::string name;
    std::string fam;
    std::string post;
    std::string kaf;
    // Ввод имени с клавиатуры
    std::cout << "Name: ";
    getline(std::cin, name);
 
    // Ввод фамилии
    std::cout << "Fam: ";
    getline(std::cin, fam);
 
        std::cout << "Post: ";
    getline(std::cin, post);
 
        std::cout << "Kaf: ";
    getline(std::cin, kaf);
 
    // Сохранение имени и фамилии в объект класса Prepod
 
 
 
    return 0;
}
Добавлено через 2 минуты
Идентификаторы именно необъявленные.
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
07.02.2014, 20:42 9
не тут все таки наверно неправильно файлы подсоединены к проекту
потому что у меня все вроде работает когда такую main() программу пишу
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include "prepod.h"
#include <string>
int main()
{
    Prepod p;
    std::string str("Vanja");
    p.set_name( str);
    std::cout << p.get_name();
}
на code::blocks
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 20:44 10
Это не весь код. Оставшаяся часть под секретом?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 20:45  [ТС] 11
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include "prepod.h"
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    Prepod Pr1;
    std::string name;
    std::string fam;
    std::string post;
    std::string kaf;
    // Ввод имени с клавиатуры
    std::cout << "Name: ";
    getline(std::cin, name);
 
    // Ввод фамилии
    std::cout << "Fam: ";
    getline(std::cin, fam);
 
        std::cout << "Post: ";
    getline(std::cin, post);
 
        std::cout << "Kaf: ";
    getline(std::cin, kaf);
 
    // Сохранение имени и фамилии в объект класса Students
 
 
 
    return 0;
}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 20:46 12

Не по теме:

хотя вообще, бред какой-то, все должно работать вроде



Добавлено через 36 секунд
Цитата Сообщение от r00712 Посмотреть сообщение
// Сохранение имени и фамилии в объект класса Students
Я правильно понял - что это просто коммент, и в коде ничего такого нет?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 20:49  [ТС] 13
Да, просто коммент. Весь код я выложил.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 20:53 14
r00712, тогда данной ошибки не может возникнуть - вы объект (Pr1) не трогаете, только создаете и все. Конструктор вы не переопределяли, следовательно, он пустой. Все, дальше вы о нем забываете
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 21:08  [ТС] 15
Увы, они есть...Все ошибки в файле prepod.cpp
C++ (Qt)
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 "prepod.h"
#include "stdafx.h"
#include <string>
 
 
 void Prepod::set_name(std::string prepod_name)  // error C2653: Prepod: не является именем класса или пространства имен
        {
          name = prepod_name;
        }
 
        // Получение имени препода
        std::string Prepod::get_name(){ //error C2653: Prepod: не является именем класса или пространства имен
          return name;
        }
 
        void Prepod::set_fam(std::string prepod_fam)//error C2653: Prepod: не является именем класса или пространства имен
        {
            fam=prepod_fam;
        } // Получение фамилии препода
         std::string Prepod::get_fam(){
          return fam;
        }
 
 
         void Prepod:: set_post(std::string prepod_post) // Установка должности препода
         {
             post=prepod_post;
        } 
         // Получение имени препода
         std::string Prepod:: get_post(){
          return post;
        }
 
         void Prepod:: set_kaf(std::string prepod_kaf){
             kaf=prepod_kaf;
        }
         std::string Prepod:: get_kaf(){
          return kaf;
        }
Добавлено через 5 минут
Мб проблема с заголовочным файлом prepod.h?
C++ (Qt)
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
#ifndef PREPOD_H_
#define PREPOD_H_
#include <string>
 // объявление класса
class Prepod
{
private:
    std::string fam; //фамилия
    std::string name; //имя
    std::string post ;//должность
    std::string kaf; //кафедра
public:
    
        void set_name(std::string prepod_name);
 
        // Получение имени препода
        std::string get_name();
 
        void set_fam(std::string prepod_fam);
         std::string get_fam();
 
 
         void set_post(std::string prepod_post);
         std::string get_post();
 
         void set_kaf(std::string prepod_kaf);
         std::string get_kaf();
 
};
 
 
#endif
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 21:09 16

Не по теме:

даже не знаю, в чем может быть дело - все должно работать. Попробуйте пересоздать все заново



Добавлено через 56 секунд
а все файлы находятся в одной директории?
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 21:11  [ТС] 17
Да, все в одной директории?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 21:13 18
Попробуйте пересоздать проект заново.. Даже не знаю, что там может быть не так
0
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 142
07.02.2014, 21:23  [ТС] 19
Цитата Сообщение от KOPOJI Посмотреть сообщение
Попробуйте пересоздать проект заново.. Даже не знаю, что там может быть не так
Пересоздал проект, все те же ошибки в том же кол-ве
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.02.2014, 21:31 20
Цитата Сообщение от r00712 Посмотреть сообщение
файлы Prepod.h:
Цитата Сообщение от r00712 Посмотреть сообщение
#include "prepod.h"
В винде вроде как регистр не важен, но.. Приведите все названия файлов к нижнему регистру, может, дело в этом..
Ну и, попробуйте сделать описанное здесь http://stackoverflow.com/quest... space-name
0
07.02.2014, 21:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2014, 21:31
Помогаю со студенческими работами здесь

Не распознает String
Не распознает String. Как исправить? #include &quot;stdafx.h&quot; #include &lt;cstdio&gt; #include &lt;cstdlib&gt;...

Не распознает usb
Не распознает плеер, т.е. включаю плеер и на компьютере ничего не происхдит, но плеер заряжается и...

Не распознает устройство
Здравствуйте. К юэсби у меня подключена мышка и клавиатура. Они работают всегда нормально, а вот...

Не распознаёт HANDLE
Всем привет! Подскажите пожалуйста, какую библиотеку подключить, чтобы в ubuntu не выдавалась...

Компилятор не распознаёт gets()
Компилятор выводит ошибку identifier &quot;gets&quot; is undefined и 'gets': identifier not found Пишу в VS...

Не распознает <vlc.h>!
Сформировать последовательность из n целых чисел. Определить минимальный элемент и количество...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru