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

Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. - C++

Восстановить пароль Регистрация
 
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 12:43     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #1
Работаю в консольном приложении CLR в vs 2010, в задании сказано: "Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы." Я помню, что в vs 2010 на с# можно создать библиотеку классов, сделать ссылку на нее из консольного приложения и использовать эти классы, но тут не получается: создал еще проект библиотеку классов, добавил ссылку на него, а классы он не видит=( ПРобывал добавить .cpp файл, но тоже не получается, как сделать в си++ по аналогии с#?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 12:43     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы.
Посмотрите здесь:

определение классов и методов C++
C++ Определение классов
C++ пытаюсь сделать реализацию через считывание из файла кол-ва чисел, i,но незнаю как сделать реализацию из файла в массив и сортировки.
C++ Работа с файлами. Из имеющего файла по сортировать в отдельные файлы
C++ Объявление и определение классов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
08.11.2013, 13:10     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #2
Я думаю, что имеется ввиду запись методов класса в один файл (class.cpp),
объявление класса - в другой файл (class.h),
а демонстрационную программу - в третий файл
(в который добавляете #include "class.h" ).
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 13:16  [ТС]     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #3
а как это все связать? не очень понятно(

Добавлено через 4 минуты
пример можно хоть какой-нибудь?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
08.11.2013, 13:52     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #4
Цитата Сообщение от Mukule Посмотреть сообщение
как это все связать?
Берете открываете блокнот, создаете файлы
Цитата Сообщение от zss Посмотреть сообщение
class.h
C++
1
2
3
4
5
6
7
8
9
10
class myClass
{
private:
    int my_i;
public:
    myClass();
    ~myClass();
    void set_i( int i );
    int get_i();
};
Цитата Сообщение от zss Посмотреть сообщение
class.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
myClass::myClass()
{
my_i=0;
}
myClass::~myClass()
{
}
void myClass::set_i( int in_i )
{
my_i = in_i;
}
int myClass::get_i()
{
return my_i;
}
Запускаете среду и к новому пустому консольному, к примеру, проекту подключаете вот заголовочный class.h и пишите демонстрационый код для работы с вашим классом:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <class.h>
int main()
{
myClass *newMyClass = new myClass();
 
newMyClass->set_i( 77 );
cout << newMyClass->get_i();
 
delete newMyClass;
retirn 0;
}
Добавлено через 2 минуты
А, да. Потом сидите и пол часа разбираетесь чего не получилось. Х)
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 15:49  [ТС]     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #5
а демонстрационный код в файле cpp представлен? создал два файла: class.h и class.cpp и подключил в vs к проекту CLR консоль, не видит(

Добавлено через 16 минут
Не видит он его!
файл class.h
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
class myClass
{
private:
    int my_i;
public:
    myClass();
    ~myClass();
    void set_i( int i );
    int get_i();
};
файл class.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include "class.h"
myClass::myClass()
{
my_i=0;
}
myClass::~myClass()
{
}
void myClass::set_i( int in_i )
{
my_i = in_i;
}
int myClass::get_i()
{
return my_i;
}
файл cpp консольного приложения CLR:
C++
1
2
3
4
5
6
7
8
9
10
11
/ Lab. work2.cpp: главный файл проекта.
#include "class.h"
#include "stdafx.h"
using namespace System;
using namespace std;
 
int main(array<System::String ^> ^args)
{
    myClass *refa;
return 0;
}
Ошибки:
Ошибка 3 error C2065: myClass: необъявленный идентификатор
Ошибка 4 error C2065: refa: необъявленный идентификатор

Добавлено через 8 минут
а, еще и предупреждение =( Предупреждение 1 warning C4627: #include "class.h": пропущен при поиске использования предкомпилированного заголовка

Добавлено через 3 минуты
все, разобрался, решение: правой кнопкой на проекте/свойства/С/С++/Предварительно скомпилированные заголовки/Не использовать
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
08.11.2013, 15:51     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #6
___

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
А, да. Потом сидите и пол часа разбираетесь чего не получилось. Х)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 16:12     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы.
Еще ссылки по теме:

C++ Определение классов ссылающихся друг на друга
C++ Как в один вектор поместить много классов?
C++ Отделение класса в отдельные файлы (заголовочный и исполняемый)

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

Или воспользуйтесь поиском по форуму:
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 16:12  [ТС]     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы. #7
мне хватило 28 хД
Yandex
Объявления
08.11.2013, 16:12     Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы.
Ответ Создать тему
Опции темы

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