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

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

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

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

20.09.2012, 15:02. Просмотров 1382. Ответов 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(){}
};
Почему-то не работает.
Но не пойму почему. "то ли лыжи не едут, то ли я... одаренный"

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

g++ Заголовочные файлы - C++
Значит есть у меня файлик main.cpp к нему инклудиться #include "Event.h" .В этом хидере название функции void event_loop(); .Так же этот...

Заголовочные файлы - C++
Компилятор выдает ошибку на запись: #include <iostream.h> - "не удается открыть источник файл iostream.h". Скажите, iostream.h - это...

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
23.09.2012, 00:19     Заголовочные файлы #17
C++
1
2
3
4
5
template <int _myint>
MyClass<_myint>::MyClass()
{
  // ...
}
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

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

Этот нюанс касается только шаблонных классов? Или есть еще какие-то исключения?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 13:06     Заголовочные файлы
Еще ссылки по теме:

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

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

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

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

Заголовочные файлы - C++
Подскажите, во время компоновки, в итоге, &quot;присоединяются&quot; к экзешнику все функции/объекты и тдп. которые указаны в заголовочном файле, или...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 13:06     Заголовочные файлы #21
Цитата Сообщение от Neumann1 Посмотреть сообщение
А где это лучше сделать - в h-файле или в cpp-файле?
В h-файле.
Цитата Сообщение от Neumann1 Посмотреть сообщение
Этот нюанс касается только шаблонных классов? Или есть еще какие-то исключения?
Вообще, шаблонов.
Yandex
Объявления
23.09.2012, 13:06     Заголовочные файлы
Ответ Создать тему
Опции темы

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