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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.78
Aldragon
2 / 2 / 0
Регистрация: 28.09.2012
Сообщений: 34
#1

Объявление класса в заголовочном файле - C++

29.09.2013, 20:59. Просмотров 5121. Ответов 5
Метки нет (Все метки)

Здравствуйте. Столкнулся с тем что нужно скомпилировать библиотеку для C++. классы написал, библиотеку скомпилировал. осталось только дополнить заголовочным файлом. Не могу найти примера того, что нужно в нем написать для класса. классы выглядят примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class MyClass{
public:
       MyClass(int n1, int n1){
          val1 = n1;
          val2 = n2
       }
       int Sum(){
            return(a+b);
       }
private:
       int val1;
       int val2;
};
если кто-нибудь поделится примером или расскажет что именно нужно написать, буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 20:59     Объявление класса в заголовочном файле
Посмотрите здесь:

Объявление поля класса в заголовочном файле - C++
Здравствуйте! Подскажите пожалуйста, как сделать правильно. Есть класс А и класс B, в классе B должно быть поле в виде массива классов А....

Два класса в одном заголовочном файле, предварительное объявление - C++
Дико туплю, никак не могу понять, где косячу. Ситуация - есть два описания классов в одном заголовочном файле (все делается с...

Объявление константы в заголовочном файле - C++
Как объявить константу и массив в заголовочном файле? Map.h #pragma once #include <SFML\Graphics.hpp> extern const...

Не могу объеявить экземпляр класса в заголовочном файле (qt, gcc) - C++
Всем привет. Проблема состоит в следующем. Есть два класса - rule_class_common и rule_class_back. В rule_class_back...

Объявление класса Cat в файле Cat.hpp? - C++
Всем доброго время суток столкнулся с такой вот проблемой, нужно объявить класс Cat в файле Cat.hpp. Работаю в Visual Studio 2008....

Переменная в заголовочном файле - C++
//qwer.h class qwer { public: extern int a; }; //qwer.cpp #include "qwer.h"

Структура в заголовочном файле - C++
Код .h: // file.h #pragma once struct Worker { char name; int cdate; int vdate; char post;

Функции в заголовочном файле - C++
Почему нельза задать тело функции в .h файле??? например(header.h): #ifndef HEADER_H #define HEADER_H void f(){} #endif //...

Setlocale в заголовочном файле - C++
main.cpp #include <cstdlib> #include <iostream> #include <cstring> #include <string> #include "studio.h" using namespace...

Создание структуры в заголовочном файле - C++
Доброго времени суток! Решил заняться разработкой приложений, сейчас делаю небольшую программу, библиотека SFML. Вопрос: Я создал...

Не подключается namespace в заголовочном файле - C++
Всем доброго дня. Ситуация такая: common.h #pragma once namespace CommonSystem { class Device {

Можно ли объявлять объекты в заголовочном файле? - C++
main.cpp #include "aa.h" int main(int argc, char** argv){ return 0; } aa.h #ifndef e2_H_ #define e2_H_ int a=0; #endif...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 21:10     Объявление класса в заголовочном файле #2
Цитата Сообщение от Aldragon Посмотреть сообщение
классы написал, библиотеку скомпилировал.
Без заголовочных файлов?
Цитата Сообщение от Aldragon Посмотреть сообщение
осталось только дополнить заголовочным файлом.
Что дополнить?
renald
35 / 35 / 2
Регистрация: 11.02.2012
Сообщений: 105
29.09.2013, 21:20     Объявление класса в заголовочном файле #3
примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef MYCLASS_H   
#define MYCLASS_H
 
class MyClass{
public:
       MyClass(int n1, int n1){
          val1 = n1;
          val2 = n2
       }
       int Sum(){
            return(a+b);
       }
private:
       int val1;
       int val2;
};#endif
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
29.09.2013, 21:31     Объявление класса в заголовочном файле #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Без заголовочных файлов?
да тут вся реализация в заголовке
Aldragon
2 / 2 / 0
Регистрация: 28.09.2012
Сообщений: 34
30.09.2013, 09:16  [ТС]     Объявление класса в заголовочном файле #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Без заголовочных файлов?
ну в Visual Studio поставил галочку в свойствах проекта компилировать как статическую библиотеку. получил файл .lib

Цитата Сообщение от alsav22 Посмотреть сообщение
Что дополнить?
Теперь хочу что бы я main.cpp написал, MyClass cl1; и класс создался
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 19:06     Объявление класса в заголовочном файле #6
Цитата Сообщение от renald Посмотреть сообщение
примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef MYCLASS_H   
#define MYCLASS_H
 
class MyClass{
public:
       MyClass(int n1, int n1){
          val1 = n1;
          val2 = n2
       }
       int Sum(){
            return(a+b);
       }
private:
       int val1;
       int val2;
};#endif
С таким заголовочным файлом, вам и библиотека не нужна. Тут вся реализация есть.
Когда библиотеку делаете, то разделите объявление класса (в .h файле оставьте только прототипы) и реализацию методов (в .cpp файле сделайте). Там, где нужно будет использовать библиотеку, после подключения библиотеки, сделайте инклуд заголовочного файла с классом (например, в main()).

lib.h
C++
1
2
3
4
5
6
7
8
9
10
class MyClass
{
public:
       MyClass(int n1, int n2);
       int Sum();
       
private:
       int val1;
       int val2;
};
lib.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "lib.h"
 
MyClass::MyClass(int n1, int n2)
{
    val1 = n1;
    val2 = n2;
}
       
int MyClass::Sum()
{
    return(val1 + val2);
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
#include "lib.h"
 
int main()
{
    MyClass obj(6, 2);
    obj.Sum();
 
    return 0;
}
Yandex
Объявления
30.09.2013, 19:06     Объявление класса в заголовочном файле
Ответ Создать тему
Опции темы

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