Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 22:10   #1
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию Компилятор С\С++ с графической библиотекой

Добрый день. Необходимо написать консольное приложение на С++, использующее графику. Подскажите пожалуйста компилятор, где все это можно реализовать. Желательно, чтобы без поиска и подключения каких то сторонних графических библиотек. Просто я по учебе сталкивался лишь с Code Blocks, а там с графикой возникли проблемы (точнее с библиотекой).
Fataller вне форума Ответить с цитированием
Старый 22.09.2009, 22:24   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вам нужен Borland C++ 3.1. У них своя графическая библиотека BGI (graphics.h). Не знаю, поддерживается ли более поздними версиями.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 24.09.2009, 15:26   #3
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

Не стал создавать новую тему, так как ответ на мой вопрос вроде как достаточно прост Добрый день. Такой вопрос. Есть файл с функциями на С++ с расширением func.cpp, его необходимо включить в главный проект main.cpp, что в main можно было использовать функции из func.cpp. Каким образом прописать включение func.cpp в main? Как прописывается библиотеки .h я знаю, а нужно ИМЕННО .cpp. Подскажите пожалуйста. Заранее спасибо.
Fataller вне форума Ответить с цитированием
Старый 24.09.2009, 19:29   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Наверное вот так?)
Код:
#include "func.cpp"
netrino вне форума Ответить с цитированием
Старый 24.09.2009, 21:37   #5
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

Нет, так не работает, я пробовал Ну ладно, это не вопрос крайней важности. Такой вопрос: в Си++ есть система наследования Txy->TFigure->TRectan, т.е. предок TFigure - Txy, a TRectan - TFigure. Описание класса TRectan:
Код:
class TRectan::public TFigure
{
public:
//ДАННЫЕ
Txy Size; //размеры прямоугольника
//МЕТОДЫ
TRectan(){}; //конструктор
virtual ~TRectan(){}; //деструктор
void Load(FILE *f); // загрузка значений из файла
virtual void Scale();
virtual void Draw();
};
Не хочет компилиться. Я вычитал, что необходимо инициализировать объект Size, при помощи конструктора. Подскажите пожалуйста, как это сделать.
З.Ы. в Txy я описывал стандартый конструктор (по-умолчанию)
Fataller вне форума Ответить с цитированием
Старый 24.09.2009, 21:45   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

а func.cpp находится в той же директории, что и main.cpp?
Ммм... не знаю, какой там у вас конструктор для Txy, но в принципе вызвать конструктор Size можно так:
Код:
TRectan() : Size(тут_параметры_конструктора) { }
netrino вне форума Ответить с цитированием
Старый 24.09.2009, 21:50   #7
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

да, в той же директории.
вопрос - тот код который вы напечатали - он что делает? это конструктор класса TRectan() инициализирует объект Size?)
Fataller вне форума Ответить с цитированием
Старый 24.09.2009, 21:53   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Ну да, то есть, если, например, конструктор Txy имеет параметры int, double( Txy::Txy(int _n, double _d) ), то вызов конструктора будет так выглядеть:
Код:
TRectan(int _n, double _d,/*Параметры, необходимые для инициализации Txy*/, .../*Другие параметры, уже для TRectan(если есть)*/) : Size(_n, _d) { }
Цитата:
Сообщение от Fataller
да, в той же директории.
Хм.. странно ) у меня работает так
netrino вне форума Ответить с цитированием
Старый 24.09.2009, 22:10   #9
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

Может быть проблема в компиляторе?) Вы в каком компилируете? Я пишу в среде Code Blocks. Я не совсем понял, как необходимо прописать конструктор. Вот эти два необходимых класса:
Код:
class Txy
{
    public:
    //ДАННЫЕ
    int x,y; //координаты
    float k; //к-т масштабирования
    char Name[80];
    //МЕТОДЫ
    Txy(){}; //конструктор
    virtual ~Txy(){}; //деструктор
    void Load(FILE *f); //загрузчик значений из файла
    void ReadName(FILE *f); //считать имя файла
    virtual void Scale(); //масштабирование
    virtual void SetOrigin(){}; //начало отсчета
    virtual void Draw(){}; //рисование
    int Round(double x); //округление
};
Код:
class TRectan::public TFigure
{
    public:
    //ДАННЫЕ
    Txy Size; //размеры прямоугольника
    //МЕТОДЫ
    TRectan(){}; //конструктор
    virtual ~TRectan(){}; //деструктор
    void Load(FILE *f); // загрузка значений из файла
    virtual void Scale();
    virtual void Draw();
};
В классе TFigure дя моей проблемы надобности нет насколько я понимаю )
Fataller вне форума Ответить с цитированием
Старый 24.09.2009, 22:15   #10
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
#include <stdio.h>

class Txy
{
    public:
    //ДАННЫЕ
    int x,y; //координаты
    float k; //к-т масштабирования
    char Name[80];
    //МЕТОДЫ
    Txy(){}; //конструктор
    virtual ~Txy(){}; //деструктор
    void Load(FILE *f); //загрузчик значений из файла
    void ReadName(FILE *f); //считать имя файла
    virtual void Scale(); //масштабирование
    virtual void SetOrigin(){}; //начало отсчета
    virtual void Draw(){}; //рисование
    int Round(double x); //округление
};

class TFigure : public Txy {
public:
	TFigure() { }
};

class TRectan :public TFigure
{
    public:
    //ДАННЫЕ
    Txy Size; //размеры прямоугольника
    //МЕТОДЫ
    TRectan(){}; //конструктор
    virtual ~TRectan(){}; //деструктор
    void Load(FILE *f); // загрузка значений из файла
    virtual void Scale();
    virtual void Draw();
};

int main()
{
	TRectan rec;

	return 0;
}
Вот в таком виде у меня почти скомпилировалось, единственное, что изменил:
Код:
class TRectan::public TFigure => class TRectan : public TFigure.
Компилирую в VS2008. Какая именно ошибка возникает?
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение графической информации в MID-летах(ME) androidvsu Общие вопросы по Java, Java SE, Kotlin 1 10.12.2009 16:04
Создание графической схемы с движущимися объектами kinderproc Общие вопросы Delphi 2 10.09.2009 08:26
Кто сможет помочь с библиотекой в C++ Перец Помощь студентам 7 23.03.2009 20:00
Проблема с библиотекой igroman PHP 2 11.01.2009 11:07