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

Подключение файла заголовка - C++

Восстановить пароль Регистрация
 
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 16:16     Подключение файла заголовка #1
Я создал проект Win32 - выбрал пустой проект а далее создал файл заголовка Cat.hpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
 #include <iostreram>
class Cat
{
 public:
   Cat (int initialAge);
   ~Cat();
   int GetAge() const { return itsAge; }
   void SetAge ( int age ) { itsAge = age; }
   void Meow() const { std::cout << "Meow.\n";}
   private:
   int itsAge;
 };
затем снова элемент -новый элемент - выбираю С++ и создаю файл кода на C++ CPP -Cat.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "Cat.hpp"
 
 Cat::Cat(int initialAge)
{
  itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Fricky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Fricky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
Компилятор пишет:

Код
1>------ Построение начато: проект: New.Cat_4, Конфигурация: Debug Win32 ------
1>  New.Cat_4.cpp
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\new.cat_4.cpp(2): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1>  Cat.cpp
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\cat.cpp(1): warning C4627: #include "Cat.h": пропущен при поиске использования предкомпилированного заголовка
1>          Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\cat.cpp(23): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1>  Создание кода...
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 16:16     Подключение файла заголовка
Посмотрите здесь:

C++ Fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка
C++ При создании файла заголовка в Code::Blocks вставляются какие-то команды препроцессору.
Использование подставляемых функций и включение файла заголовка. C++
Непредвиденный конец файла во время поиска предкомпилированного заголовка C++
C++ Непредвиденный конец файла во время поиска предкомпилированного заголовка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 16:27     Подключение файла заголовка #2
Цитата Сообщение от zero-11 Посмотреть сообщение
Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
Добавили?
C++
1
#include "StdAfx.h"
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 16:38  [ТС]     Подключение файла заголовка #3
Добавлял ее в источник.Все равно не собирается. Пути правильные.

Добавлено через 2 минуты
Выдает следующие:

Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Cat::SetAge(int)" (?SetAge@Cat@@QAEXH@Z) в функции _main
1>Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Cat::GetAge(void)" (?GetAge@Cat@@QAEHXZ) в функции _main
1>Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Cat::Meow(void)" (?Meow@Cat@@QAEXXZ) в функции _main
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 16:44     Подключение файла заголовка #4
Цитата Сообщение от zero-11 Посмотреть сообщение
Cat Frisky(5);
Цитата Сообщение от zero-11 Посмотреть сообщение
Fricky.Meow();
Объекты различаются или опечатались?
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 16:57  [ТС]     Подключение файла заголовка #5
Не хочет собираться -

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
#include "Cat.h"
#include "StdAfx.h"
using namespace std;
 
 Cat::Cat(int initialAge)
{
  int itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Frisky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Frisky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 17:03     Подключение файла заголовка #6
Вот еще ошибка.
C++
1
#include <iostreram>
И
C++
1
#include "StdAfx.h"
в первую строчку перенесите.
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 17:13  [ТС]     Подключение файла заголовка #7
Frisky - это объект класса Cat и он определен в Сat.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
 #include <iostreram>
class Cat
{
 public:
   Cat (int initialAge);
   ~Cat();
   int GetAge() const { return itsAge; }
   void SetAge ( int age ) { itsAge = age; }
   void Meow() const { std::cout << "Meow.\n";}
   private:
   int itsAge;
 };
константа - член Meow - определена в классе Cat -сам файл объявления класса вынесен в отдельный файл
Сat.h - подключается отдельно:

#include "Cat.h"


А реализация методов реализована в Cat.cpp - при компиляции не хочет подключать Сat.h

Добавлено через 6 минут
Я пробовал так:

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
#include "StdAfx.h"
#include "Cat.h"
#include "iostream"
using namespace std;
 
 Cat::Cat(int initialAge)
{
  int itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Frisky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Frisky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 17:17     Подключение файла заголовка #8
Я имею ввиду что ошибка тут еще в Cat.h:
C++
1
#include <iostreram>
на

C++
1
#include <iostream>
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 19:10  [ТС]     Подключение файла заголовка #9
Может есть ссылка на видео или на статью -0 было у меня видео по подключению заголовочных файлов.

Добавлено через 1 час 8 минут
Я все исправил - выдает:

Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка

что конкретное прописать-?
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
04.04.2014, 19:12     Подключение файла заголовка #10
Вот ваш код у меня спокойно запускается:
Cat.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
class Cat
{
public:
    Cat (int initialAge);
    ~Cat();
    int GetAge() const { return itsAge; }
    void SetAge ( int age ) { itsAge = age; }
    void Meow() const { std::cout << "Meow.\n";}
private:
    int itsAge;
};
main.cpp
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
#include "stdafx.h"
#include <iostream>
#include "Cat.h"
 
using namespace std;
 
Cat::Cat(int initialAge)
{
    itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
    Cat Frisky(5);
    Frisky.Meow();
    cout<<"Frisky is a cat who is ";
    cout<<Frisky.GetAge()<<" years old.\n";
    Frisky.Meow();
    Frisky.SetAge(7);
    cout<<"Nnow Frisky is";
    cout<<Frisky.GetAge()<<" years old.\n";
 
    getchar();
    return 0;
}
попробуйте так же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 19:23     Подключение файла заголовка
Еще ссылки по теме:

C++ Error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка
C++ Открытие wav файла и чтение его заголовка
Подключение DLL без заголовка C++

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

Или воспользуйтесь поиском по форуму:
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 19:23  [ТС]     Подключение файла заголовка #11
Спасибо за помощь!! Всего-то:

C++
1
2
3
#include "stdafx.h"
#include <iostream>
#include "Cat.h"
Я просто привык компилировать не вынося часть кода в отдельный файл - а уже полез и в системную библиотеку.
Yandex
Объявления
04.04.2014, 19:23     Подключение файла заголовка
Ответ Создать тему
Опции темы

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