Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Neumann1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 30
#1

Заголовочные файлы - C++

20.09.2012, 15:02. Просмотров 1419. Ответов 20
Метки нет (Все метки)

Добрый день.

Вот такой вопрос.
Пишу на Борланде.

Не пойму как писать, если классы помещать в свои файлы.

Вот например, программа

Код
#include "MyClass.h"

int main(int argc, char* argv[])
{
        MyClass as;
        return 0;
}
Заголовочный файл класса

Код
#ifndef MyClassH
#define MyClassH
#endif
   
class MyClass
{
public:
        MyClass();
        ~MyClass();
        void a();
};
И его CPP-файл
Код
#include "MyClass.h"

class MyClass
{
public:
        MyClass()
        {
                return "Hello";
        }
        ~MyClass(){}
        void a(){}
};
Почему-то не работает.
Но не пойму почему. "то ли лыжи не едут, то ли я... одаренный"

Подскажите, в чем нюанс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 15:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заголовочные файлы (C++):

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними - C++
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы? - C++
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Заголовочные файлы *.h - C++
Доброго времени суток! Как понят следующее: В заголовочных файлах, в целях более быстрой компиляции, для указателей на типы данных...

Заголовочные файлы - C++
#ifndef _MYCLASS_H #define _MYCLASS_H class myclass{//Описание класса}; #endif Сказано, что заголовочные файлы обычно включают...

Заголовочные файлы - C++
Всем добрый день! Пытался найти информацию по созданию заголовочных файлов, да не нашел. У меня есть здоровая шаблонная функция ...

Заголовочные файлы - C++
Подключил два заголовочных файла, при компиляции пишет, что не знает имени функции Header.h #pragma once float F1(float* ar1,...

20
Neumann1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 30
23.09.2012, 00:06  [ТС] #16
У меня вопрос, он в тему.
А если класс объявлен как шаблон, то в определении методов класса как надо писать?
Например
Код
template <int _myint>
class MyClass
{ 
/*  */
}
то в cpp-файле например конструктор
MyClass::MyClass()
как записывать?

Потому что компилятор ругается на эту строку
Cannot use template 'MyClass<_myint>' without specifying specialization parameters
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
23.09.2012, 00:19 #17
C++
1
2
3
4
5
template <int _myint>
MyClass<_myint>::MyClass()
{
  // ...
}
0
Neumann1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 30
23.09.2012, 03:13  [ТС] #18
Сделал так для конструктора, деструктора и всех методов класса.
Теперь пишет для каждого ошибку типа

[Linker Error] Unresolved external 'MyClass<14>::MyClass<14>()' referenced from C:\CPPFILES\1\UNIT1.OBJ

0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 10:08 #19
Цитата Сообщение от Neumann1 Посмотреть сообщение
А если класс объявлен как шаблон, то в определении методов класса как надо писать?
Для шаблонных классов есть отличие в том, в каких файлах, что располагать. Шаблон и реализация шаблона должны быть в одном файле
0
Neumann1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 30
23.09.2012, 11:18  [ТС] #20
Цитата Сообщение от alsav22 Посмотреть сообщение
Для шаблонных классов есть отличие в том, в каких файлах, что располагать. Шаблон и реализация шаблона должны быть в одном файле
О, вот какой момент.
А где это лучше сделать - в h-файле или в cpp-файле?

Этот нюанс касается только шаблонных классов? Или есть еще какие-то исключения?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 13:06 #21
Цитата Сообщение от Neumann1 Посмотреть сообщение
А где это лучше сделать - в h-файле или в cpp-файле?
В h-файле.
Цитата Сообщение от Neumann1 Посмотреть сообщение
Этот нюанс касается только шаблонных классов? Или есть еще какие-то исключения?
Вообще, шаблонов.
0
23.09.2012, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 13:06
Привет! Вот еще темы с ответами:

заголовочные файлы - C++
напишите пожалуйста,что делают заголов.файлы &lt;io.h&gt; и &lt;direct.h&gt; Добавлено через 8 минут и расшифруйте условие: ...

Заголовочные файлы - C++
Почему в учебниках пишет, например, чтобы использовать какую-то математическую функцию, то надо подключить файл &lt;cmath&gt;. У меня из без...

заголовочные файлы в с++ - C++
я вот не могу понять, их обязательно делать в своих программах? В том смысле, что бы код был, так сказать &quot;правильным, хорошим&quot;. Хотел...

Заголовочные файлы (.h) - C++
Доброго времени суток господа! Озадачился вопросом по поводу заголовочных файлов. Но подробного, или понятного мне ответа так и не нашёл....


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

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

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