Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
1

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

08.11.2013, 12:43. Просмотров 498. Ответов 6
Метки нет (Все метки)

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

Разбить программу на отдельные файлы
#include <iostream> #include <fstream> using namespace std; int...

Оцените реализацию классов с использованием наследования
Программируя, я никогда раньше не пользовался наследованием классов и всем, что...

Отделение класса в отдельные файлы (заголовочный и исполняемый)
Добрый день! Появилась проблема с созданием класса в отдельный файл: точнее...

Вынести класс и методы класса в отдельные файлы
Здравствуйте, написала программу для дробей. Теперь нужно создать отдельный...

Переписать в отдельные файлы четные и нечетные числа
Имеется файл, элементами которого являются целые числа. Все четные чис- ла...

6
zss
Модератор
Эксперт С++
7485 / 6852 / 4326
Регистрация: 18.12.2011
Сообщений: 18,128
Завершенные тесты: 1
08.11.2013, 13:10 2
Я думаю, что имеется ввиду запись методов класса в один файл (class.cpp),
объявление класса - в другой файл (class.h),
а демонстрационную программу - в третий файл
(в который добавляете #include "class.h" ).
0
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 13:16  [ТС] 3
а как это все связать? не очень понятно(

Добавлено через 4 минуты
пример можно хоть какой-нибудь?
0
SatanaXIII
Почетный модератор
Эксперт С++
5779 / 2777 / 380
Регистрация: 01.11.2011
Сообщений: 6,757
Завершенные тесты: 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 минуты
А, да. Потом сидите и пол часа разбираетесь чего не получилось. Х)
1
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 минуты
все, разобрался, решение: правой кнопкой на проекте/свойства/С/С++/Предварительно скомпилированные заголовки/Не использовать
0
SatanaXIII
Почетный модератор
Эксперт С++
5779 / 2777 / 380
Регистрация: 01.11.2011
Сообщений: 6,757
Завершенные тесты: 1
08.11.2013, 15:51 6
___

Не по теме:

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

0
Mukule
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 8
08.11.2013, 16:12  [ТС] 7
мне хватило 28 хД
0
08.11.2013, 16:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 16:12

Как в один вектор поместить много классов?
Всем привет. Есть задумка а как сделать пока не ясно. Есть в наличии допустим...

Написать демонстрационную программу, в которой создаются объекты различных классов и помещаются в массив
Помогите пожалуйста сделать лабораторную работу по C#. Текст ниже: ...

Написать демонстрационную программу, в которой создаются объекты различных классов и помещаются в список. И еще куча лабораторных
Помогите пожалуйста с лабораторными работами кто может. Заранее спасибо.


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

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

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