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

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

Войти
Регистрация
Восстановить пароль
 
OlVD
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 29
#1

Объясните как правильно создавать проект - C++

21.10.2012, 11:15. Просмотров 432. Ответов 3
Метки нет (Все метки)

Писать толком не умею. Было все в одном файле, надо "разбить". Когда все было в одном - работало. Объясните, пожалуйста как разбить.

Main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <sstream>
#include <cmath>
 
//#include "carray111.h"
#include "CShape.h"
//#include "CPoint.h"
//#include "CColorPoint.h"
//#include "CCircle.h"
//#include "CRect.h"
//#include "CSquare.h"
//#include "CPolyline.h"
 
using namespace std;
 
 
int main()
{
    try
    {
        cout << endl;
 
        cout <<"NUM FIGURES: " <<CShape::GetCount() <<endl;
        
    }
    catch (MyException &e)
    {
        cout << e.what() << endl;
        return -1;
    }
 
    return 0;
}
СShape.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _CSHAPE_H_
#define _CSHAPE_H_
 
#include <iostream>
#include <sstream>
 
#include "MyException.cpp"
 
using namespace std;
 
class CShape
{
public:
    CShape();
    virtual ~CShape();
 
    virtual CShape& operator = (const CShape&) { }
    virtual string ToString() const = 0;
    static int GetCount();
    virtual string GetType() const;
    friend ostream& operator<<(ostream& stream, const CShape& fig) {
        stream <<fig.ToString();
        return stream;
    };
private:
    static  int HowManyShapes;
};
 
#endif
ну и CShape.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "CShape.h"
 
#include <iostream>
 
int CShape :: HowManyShapes = 0;
 
CShape::CShape()
{
    HowManyShapes++;
}
 
CShape::~CShape()
{
    HowManyShapes--;
}
 
int CShape::GetCount()
{
    return HowManyShapes;
}
 
string CShape::GetType() const
{
    return "Shape";
}
ошибка :
C++
1
2
3
In function `main':
Main.cpp:(.text+0x20): undefined reference to `CShape::GetCount()'
collect2: ld returned 1 exit status
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 11:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните как правильно создавать проект (C++):

Как правильно создавать потоки? - C++
Ребята, подскажите как правильно организовать работу функции в отдельном потоке, чтобы она не ставила в ожидание выполнение остальных...

Как правильно создавать переменные в С++? - C++
Тема исключительно для завлечения. Почему castaway заблокировали? Обиделся что &quot;Спасибо&quot; не жмакают?

Ошибка при компиляции. Как правильно создавать класс с объектами от другого класса? - C++
Есть класс Car. У него есть двигатель(class Engine) и переменная скорость(speed), которая зависит от мощности(power). power- переменная...

Как правильно построить блок-схему(просто объясните) - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;process.h&gt; int n; void vvod(float a) { int...

Объясните как правильно сравнить переменные типа char - C++
Испульзую (strcmp(a.StNazn,c)==0) Не работает. Если поменять на (strcmp(a.StNazn,c)&lt;0) Работает, но как-то не правильно. ...

Зачем создавать новый проект - C++
Зачем создавать проект, если можно компилировать сам *.cpp с кодом? Что хранится в файлах проекта? Отличаются ли структуры проектов в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
21.10.2012, 11:33 #2
создаете хеадер файл head.h в котором подключаете все библеотеки, потом в каждом спп подключаете этот файл и вуаля
OlVD
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 29
21.10.2012, 11:37  [ТС] #3
Не то, или я что-то не так делаю. Но ошибка не исчезает
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
21.10.2012, 12:02 #4
C++
1
#include <cmath>
переместить в СShape.h и в друнгих вайлах убавть вообще все инклуды кроме
C++
1
#include "СShape.h"
это раз
далее
сами ошибки вроде отношения к тому что вы разбили проект на несколько неимеют... Хотя если честно рание таких ошибок не припомню чтоб встречал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 12:02
Привет! Вот еще темы с ответами:

Как правильно организовать большой проект? - C++
В будущем хочу участвовать в разработке игр - начал изучать С++, вопрос тут такой, как правильно организовать структуру достаточно большого...

Как правильно организовать многофайловый проект? - C++
Добрый вечер дорогой форум. Сразу скажу я новичек. Пишу курсовик, сроки, как всегда поджимают (семья, ремонт и две работы)... Но это...

Как правильно компилировать проект си в С++ Builder 6 - C++
Как правильно компилировать проект си в С++ Builder 6 так, что бы весь проект вместе в библиотеками сохранялся в один exe файл и я его мог...

Стек или куча: как "правильно" создавать объекты классов? - C++
У меня несколько странновато-ламерский вопрос, но ведь в том и смысл: чтобы таких вопросов не осталось, на них один фиг сначала нужно...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.10.2012, 12:02
Ответ Создать тему
Опции темы

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