Как "запихнуть" свой класс в отдельный модуль?
От: Dumb  
Дата: 16.03.12 17:28
Оценка:
Доброго времени суток!
Есть класс точек Point.
Вот это добро ниже нужно переделать так, чтобы класс был в отдельном модуле. Помогите сделать, я буду уж очень благодарен.
Я не знаю что куда писать? Какие файлы создавать? Среда — Visual Studio 2011(от 2010 особо не отличается)

class Point
{ 
public:
Point()
{
    x=y=0;
}
void cinY()
{
    cin>>y;
}
void cinX()
{
    cin>>x;
}
double getY()
{
    return y;
}
double getX(){return x;}
void movex(double move)
{
    x+=move;
} 
void movey(double move){y+=move;} 
double to0() 
{
    return sqrt(x*x+y*y);
} 
double topoint (Point b) 
{
    return sqrt((x - b.x) * (x - b.x) + (y - b.y) * (y - b.y));
} 
private: 
double x,y;
};
модуль класс
Re: Как "запихнуть" свой класс в отдельный модуль?
От: LaptevVV Россия  
Дата: 16.03.12 17:34
Оценка:
Здравствуйте, Dumb, Вы писали:

D>Есть класс точек Point.

D>Вот это добро ниже нужно переделать так, чтобы класс был в отдельном модуле. Помогите сделать, я буду уж очень благодарен.
D>Я не знаю что куда писать? Какие файлы создавать? Среда — Visual Studio 2011(от 2010 особо не отличается)
Создай пустой проект
В меню найди пункт Добавить класс — Add class
Заполни открывшуюся форму — среда за тебя все сама сделает...
А если хочешь научиться — прочитай в книжке и сделай все ручками сам.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Как "запихнуть" свой класс в отдельный модуль?
От: Centaur Россия  
Дата: 16.03.12 17:38
Оценка: +2
Здравствуйте, Dumb, Вы писали:

D>Доброго времени суток!

D>Есть класс точек Point.
D>Вот это добро ниже нужно переделать так, чтобы класс был в отдельном модуле

В C++ нет модулей.

А домашние задания надо делать самому.
Re[2]: Как "запихнуть" свой класс в отдельный модуль?
От: Dumb  
Дата: 16.03.12 17:43
Оценка: -1 :)
Здравствуйте, Centaur, Вы писали:

C>Здравствуйте, Dumb, Вы писали:


D>>Доброго времени суток!

D>>Есть класс точек Point.
D>>Вот это добро ниже нужно переделать так, чтобы класс был в отдельном модуле

C>В C++ нет модулей.


C>А домашние задания надо делать самому.


Задание: "Создать в отдельном модуле класс с закрытыми полями, соответствующий заданному варианту, с использованием областей видимости;"
Re[3]: Как "запихнуть" свой класс в отдельный модуль?
От: MasterZiv СССР  
Дата: 17.03.12 08:21
Оценка: +1
> Задание: "Создать в отдельном модуле класс с закрытыми полями, соответствующий
> заданному варианту, с использованием областей видимости;"

Расскажи, что ты понимаешь под модулем.
В С++ и С нет модулей. Поэтому если тебе такое надо, ты должен объяснить
используемые тобой термины.
Posted via RSDN NNTP Server 2.1 beta
Re: Как "запихнуть" свой класс в отдельный модуль?
От: opener  
Дата: 17.03.12 08:32
Оценка:
Здравствуйте, Dumb, Вы писали:

D>Я не знаю что куда писать?


Я не знаю, знаешь ли ты, что куда писать.
(это типа намек на лишний вопросительный знак).

Создаешь два файла в проекте, с соответствующими названиями (Point), один с расширением обычно .cpp, второй .h (или .hpp).
В хидер запихиваешь декларацию класса, примерно так:

class foo
{
private:
   int n_somePrivateField;

private:
   void somePrivateFunc();

public:
   foo();
   virtual ~foo();
};


В .cpp запихиваешь реализацию:

foo::foo()
{
    // constuructor implementation
    // создать что-нибудь полезное
}

foo::~foo()
{
    // разрушить что-нибудь полезное
}

foo::somePrivateFunc()
{
    // что-то сделать
}
Re[3]: Как "запихнуть" свой класс в отдельный модуль?
От: rg45 СССР  
Дата: 17.03.12 08:56
Оценка:
Здравствуйте, Dumb, Вы писали:

D>Здравствуйте, Centaur, Вы писали:


C>>Здравствуйте, Dumb, Вы писали:


D>>>Доброго времени суток!

D>>>Есть класс точек Point.
D>>>Вот это добро ниже нужно переделать так, чтобы класс был в отдельном модуле

C>>В C++ нет модулей.


C>>А домашние задания надо делать самому.


D>Задание: "Создать в отдельном модуле класс с закрытыми полями, соответствующий заданному варианту, с использованием областей видимости;"


Не задание, а ребус какой-то, нужно еще догадаться, что требуется. Думаю, что слово "модуль" здесь имеет смысл translation unit, по-русски — единица трансляции, а по-народному — .cpp файл. А фразу "создать в отдельном модуле", я полагаю, нужно понимать так: определения функций-членов класса выполнить в отдельной единице трансляции. Таким образом, тебе нужно создать два файла: Point.h и Point.cpp. Первый файл должен содержать определение класса Point, второй — определения функций-членов этого класса. opener тебе уже показал как примерно это делается здесь
Автор: opener
Дата: 17.03.12
.
--
Справедливость выше закона. А человечность выше справедливости.
Re[4]: Как "запихнуть" свой класс в отдельный модуль?
От: rg45 СССР  
Дата: 17.03.12 09:52
Оценка:
Здравствуйте, rg45, Вы писали:


D>>Задание: "Создать в отдельном модуле класс с закрытыми полями, соответствующий заданному варианту, с использованием областей видимости;"


R>Не задание, а ребус какой-то, нужно еще догадаться, что требуется. Думаю, что слово "модуль" здесь имеет смысл translation unit, по-русски — единица трансляции, а по-народному — .cpp файл. А фразу "создать в отдельном модуле", я полагаю, нужно понимать так: определения функций-членов класса выполнить в отдельной единице трансляции. Таким образом, тебе нужно создать два файла: Point.h и Point.cpp. Первый файл должен содержать определение класса Point, второй — определения функций-членов этого класса. opener тебе уже показал как примерно это делается здесь
Автор: opener
Дата: 17.03.12
.


А под "областями видимости", по-видимому, подразумеваются пространства имен.

P.S. Нет слов! Нафиг такое преподавание!
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.