Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> include, Как инклудить 
:(
    Опции темы
GreyKarapetyan
Дата 31.5.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.5.2009

Репутация: нет
Всего: нет



Есть:
заголовочные файлы
Код

Point.h
Rectangle.h


файлы .cpp
Код

Point.cpp
Rectangle.cpp
main.cpp


В Point.cpp
я пишу
Код

include "Point.h"


в Rectangle.cpp 
я пишу 
Код

include "Rectangle.h"


в main.cpp я должен использовать классы объявленные/определенные и в Point.h/.cpp и в Rectangle.h/.cpp

1)что именно я должен проикнлудить в main.cpp только header'ы или только cpp?
2)в некоторых примерах из книги в Rectangle.cpp делается #include <iostream>, но я не понимаю зачем? если работа с консолью выполняется только из main.cpp ?


спасибо





Это сообщение отредактировал(а) GreyKarapetyan - 31.5.2009, 23:31
PM MAIL   Вверх
andrew_121
Дата 31.5.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Только хедеры.

Цитата(GreyKarapetyan @  31.5.2009,  23:29 Найти цитируемый пост)
в некоторых примерах из книги в Rectangle.cpp делается #include <iostream>, но я не понимаю зачем? если работа с консолью выполняется только из main.cpp ?

Покажи весь код.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dmi3ev
Дата 31.5.2009, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

1)что именно я должен проикнлудить в main.cpp только header'ы или только cpp?

ясен пень только *.h файлы надо подключать в данном случае, для этого все и делается...
Цитата

2)в некоторых примерах из книги в Rectangle.cpp делается #include <iostream>, но я не понимаю зачем? если работа с консолью выполняется только из main.cpp ?

Ты правда думаешь, что мы сейчас читаем ту же книгу на той же странице??? и ваще вопрос какой-то мутный...


--------------------

PM MAIL   Вверх
GreyKarapetyan
Дата 1.6.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.5.2009

Репутация: нет
Всего: нет



Dmi3evandrew_121,
Книга в формате djvu копипастить не могу.
А как быть в случае если в классе определяемом/описываемом в Rectangle.h/Rectangle.cpp присутствуют как данные-класса объекты определенные/описанные в Point.h/Point.cpp?

Это сообщение отредактировал(а) GreyKarapetyan - 1.6.2009, 00:08
PM MAIL   Вверх
Dmi3ev
Дата 1.6.2009, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



что значит как быть?


--------------------

PM MAIL   Вверх
azesmcar
Дата 1.6.2009, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



GreyKarapetyan
если в файле rectangle.cpp сделан инклуд iostream это значит одно из трех
1. в нем используется что нибудь из этого хидера
2. это ошибка по невнимательности автора
3. книгу надо выкидывать (это в случае того, если автор в самом деле не понимает что этот инклуд там не нужен, в чем я сильно сомневаюсь)

Добавлено через 25 секунд
Цитата(GreyKarapetyan @  1.6.2009,  00:06 Найти цитируемый пост)
Книга в формате djvu копипастить не могу.

переписать
PM   Вверх
Dmi3ev
Дата 1.6.2009, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Книга в формате djvu копипастить не могу.

а пробуешь что-то делать ты тоже в формате djvu??? А если ты не пробуешь, то тогда нах спрашивать, читай дальше, как худ. литературу...


--------------------

PM MAIL   Вверх
GreyKarapetyan
Дата 1.6.2009, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.5.2009

Репутация: нет
Всего: нет



azesmcar
Цитата(azesmcar @  1.6.2009,  00:13 Найти цитируемый пост)

переписать


//файл Rect.hpp
Код

#include <iostream.h>

class Point
{
public:
  void SetX(int x) {itsX =x;}
  void SetY(int y) {itsY =y;}
  int GetX() const {return itsX;}
  int GetY() const {return itsY;}

private:
  int itsX;
  int itsY;
};


class Rectangle
{
public:
  Rectangle (int top, int left, int bottom, int right);
  ~Rectangle() {}

  int GetTop() const {return itsTop;}
  int GetLeft() const {return itsLeft;}
  int GetBottom() const {return itsBottom;}
  int GetRight() const {return itsRight;}

  Point GetUpperLeft() const {return itsUpperLeft;} 
  Point GetLowerLeft() const {return itsLowerLeft;}
  Point GetUpperRight() const {return itsUpperRight;}
  Point GetLowerRight() const {return itsLowerRight;}

  void SetUpperLeft(Point Location) {itsUpperLeft = Location;}
  void SetLowerLeft(Point Location) {itsLowerLeft = Location;}
  void SetUpperRight(Point Location) {itsUpperRight = Location;}
  void SetLowerRight(Point Location) {itsLowerRight = Location;}

  void SetTop(int top) {itsTop = top;}
  void SetLeft(int left) {itsLeft = left;}
  void SetBottom(int bottom) {itsBottom = bottom;}
  void SetRight(int right) {itsRight = right;}

  int GetArea() const;

private:
  Point itsUpperLeft;
  Point itsUpperRight;
  Point itsLowerLeft;
  Point itsLowerRight;
  int itsTop;
  int itsLeft;
  int itsBottom;
  int itsRight;
};

  

Файл rect.cpp

Код

#include "rect.hpp"
Rectangle::Rectangle(int top, int left, int bottom, int right)
{
  itsTop = top;
  itsLeft = left;
  itsBottom = bottom;
  itsRight = right;

  itsUpperLeft.SetX(left);
  itsUpperLeft.SetY(top);
  
  itsUpperRight.SetX(right);
  itsUpperRight.SetY(top);

  itsLowerLeft.SetX(left);
  itsLowerLeft.SetY(bottom);

  itsLowerRight.SetX(right);
  itsLowerRight.SetY(bottom);
}


int Rectangle::GetArea() const
{
  int Width = itsRight - itsLeft;
  int Height = itsTop - itsBottom;
  return (Width * Height);
}


int main() {
Rectangle MyRectangle (100, 20, 50, 80);

int Area = MyRectangle.GetArea();

cout << "Area: " << Area << "\n";
cout "Upper Left X Coordinate:";
cout << MyRectangle.GetUpperLeft().GetX();
return 0;
}


- почему main не вынесен отдельным .cpp файлом, а объявления и определения  2 классов Rectangle и Point хранятся в одном файле ?
- я не понял почему iostream подключается в файле Rect.hpp хотя используется только в main.cpp? 
- у меня объявления и определения классов Point и Rectangle разнесены по разным файлам (Point.h/Point.cpp и Rectangle.h/Rectangle.cpp). т.к. Rectangle использует объекты Point - должен ли я в (Rectangle.cpp или Rectangle.h) делать include "Point.h"?


Это сообщение отредактировал(а) GreyKarapetyan - 1.6.2009, 01:09
PM MAIL   Вверх
Dmi3ev
Дата 1.6.2009, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

- я не понял почему iostream подключается в файле Rect.hpp хотя используется только в main.cpp? 

чтобы в мэйн подключать только один файл, хотя глупо, имхо...
Цитата

почему main не вынесен отдельным .cpp файлом, а объявления и определения  2 классов Rectangle и Point хранятся в одном файле ?

хз, там определения методов вместе с прогой, которая демонстрирует намешаны...
наверное, автор хотел что-то донести таким образом, хотя хз, так не делают обычно, тут нет полиморфизма, зачем известное заранее описывать в проге, хз...
Цитата

у меня объявления и определения классов Point и Rectangle разнесены по разным файлам (Point.h/Point.cpp и Rectangle.h/Rectangle.cpp). т.к. Rectangle использует объекты Point - должен ли я в (Rectangle.cpp или Rectangle.h) делать include "Point.h"?

ваще да, но тут класс Поинт расписан и так, так что необязательно...
тут наворочено, так что лучше всего
Цитата

3. книгу надо выкидывать 

...


--------------------

PM MAIL   Вверх
GreyKarapetyan
Дата 1.6.2009, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.5.2009

Репутация: нет
Всего: нет



Dmi3ev, Критика - это, конечно, хорошо..., но что предложите взамен?
просто это уже вторая книга - (Либерти С++ за 21 день)
до этого был Липпман основы программирования на С++
бросать как бы не очень хочется
PM MAIL   Вверх
zim22
Дата 1.6.2009, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GreyKarapetyan @  1.6.2009,  01:50 Найти цитируемый пост)
до этого был Липпман основы программирования на С++

тогда читайте Язык программирования С++. Вводный курс. Липпман. 4 издание.


Это сообщение отредактировал(а) zim22 - 1.6.2009, 07:51


--------------------
PM MAIL   Вверх
Dmi3ev
Дата 1.6.2009, 13:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Dmi3ev, Критика - это, конечно, хорошо..., но что предложите взамен?

да это не критика, просто как тебе сказать... То что написано у тебя можно сравнить с:

человек заходит в общественный туалет, сел делать дела в первой кабинке, потом перешел во вторую, потом в третью... вышел из последней, отлил в писуар и доделал свои дела когда мыл руки...

Вопрос: Зачем так делать?
Ответ: Показал все возможности общественного туалета


--------------------

PM MAIL   Вверх
jhonyxakep
Дата 2.6.2009, 08:12 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Цитата
Книга в формате djvu копипастить не могу.
 ПОэт! smile 

Вообще во многих книгах для новичков iostream используется, но не требуется! это типа приучают писать все стандартные хидеры! smile 
PM MAIL ICQ   Вверх
zim22
Дата 2.6.2009, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GreyKarapetyan @  1.6.2009,  00:06 Найти цитируемый пост)
Книга в формате djvu копипастить не могу.

на клавиатуре есть кнопочка Print Screen


--------------------
PM MAIL   Вверх
jhonyxakep
Дата 2.6.2009, 14:50 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



И что эта кнопочка ему даст?
PM MAIL ICQ   Вверх
Rawen
Дата 2.6.2009, 20:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.5.2009

Репутация: нет
Всего: нет



ну нажмет ее и вставит в Paint, потом сохранит как картинку и покажет
PM MAIL   Вверх
jhonyxakep
Дата 3.6.2009, 04:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



А... А я чё-то туплю... Да он куда-то с форума потерялся...
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0850 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.