Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
nikkka
Мат в 32 хода
236 / 171 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

вопрос по ооп - C++

28.06.2010, 16:13. Просмотров 414. Ответов 3
Метки нет (Все метки)

вот фаил с описанием класса.
что такое
#ifndef _STOCK1_H_
#define _STOCK1_H_
и
#endif
в 1,2 и последних строках соответсвенно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef _STOCK1_H_
#define _STOCK1_H_
class Stock
{
      private:
              char company[30];
              int shares;
              double share_val;
              double total_val;
              void set_tot()
              { total_val = shares * share_val; }
      public:
              Stock();
              Stock(const char * co, int n=0, double pr=0.0);
              ~Stock();
              void buy(int num, double price);
              void sell(int num, double price);
              void update(double price);
              void show();   
};
#endif
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2010, 16:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос вопрос по ооп (C++):

Вопрос по ООП - C++
Вот код class time { private: int hours; int minutes; public: int sum_time(time object, days day); ...

ООП ВОПРОС - C++
Плиз обьясните почему нельзя сделать так (ошибка): #include<iostream> using namespace std; class one { public: int a; } ...

Вопрос по ООП - C++
Стоит ли реализовывать программу через классы, если в главной ф-ции предполагается создание только одного объекта? Вобщем решил...

Вопрос к знатокам (ООП + ассемблер) - C++
Ниже представлены три тестовых класса. Первый - классическая модель классов в с++ Имеет методы, и данные члены. Обрабатывает свои...

ООП - вопрос про деструктор - C++
#include <iostream> class oop { int a; char * name; public: oop(char *,int); ~oop(); void show();

Вопрос по массивав, "институтский" вопрос. - C++
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) В документации подобного не...

3
Nick Alte
Эксперт С++
1646 / 1018 / 120
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
28.06.2010, 16:26 #2
Это так называемые include guard - предохранители, предотвращающие повторное включение файла директивой #include. Точнее говоря, предотвращается не само повторное включение, а его плохие последствия в виде ошибочного повторного определения типов и что там в этом файле содержится.

Принцип действия такой: изначально символ _STOCK1_H_ не определён. При первом включении #ifndef позволяет зайти дальше, после чего этот символ определяется (как пустой, но существующий), и происходит обработка всего, что содержится в файле. Если этот файл попадётся ещё раз из-за повторного #include, #ifndef увидит, что символ _STOCK1_H_ уже определён и выкинет всё содержимое файла, предотвращая неприятности.

Такая система позволяет смело подключать нужные заголовочные файлы везде, где они могут понадобиться, вместо того, чтобы заботиться о том, чтобы их включение было единственным, отслеживая иногда довольно-таки запутанную систему зависимостей между ними.
1
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
28.06.2010, 16:29 #3
#ifdef SMTH - директива препроцессору. Если где-то выше был объявлен макрос SMTH, код между #ifdef SMTH и #endif будет компилироваться, иначе нет.
Соответственно директива ifndef работает наоборот.
В вашем примере это используется для того, чтобы один и тот же код не был подключен дважды.
Еще можно использовать эту директиву например для отладки:

#define DEBUG_MODE

//многакода
#ifdef DEBUG_MODE
//отладочная печать какая-нибудь
#endif

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

Добавлено через 2 минуты
И да, к ООП это мало отношения имеет
1
PointsEqual
ниначмуроФ
838 / 522 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.06.2010, 01:54 #4
стражи включения

ifndef - if not define -если не определено
define - определить
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2010, 01:54
Привет! Вот еще темы с ответами:

ООП - C++
1) Для класса символьной строки определить отношение лексикографического порядка, перегрузив с помощью дружественной функции операцию «<» ...

ООП - C++
проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там...

ООП - C++
Создать класс Vegetable, содержащий следующие элементы: - поле «вес» float Mass; - поле «зрелость» int Ripeness; - метод получения...

ООП - C++
Всем привет! Если можно, не могли бы вы ответить на пару вопросов по ООП, а то что-то не могу понять. Вопросы: Зачем используются такие...


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

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

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