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

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

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

Примерчики ООП простые - C++

26.12.2012, 22:25. Просмотров 545. Ответов 6
Метки нет (Все метки)

Всем добрый вечер

Вот задачка

Необходимо создать 3 класса

Авто, Запчасти и Калькулятор

в Классе Авто должны быть массивом запчасти и имя авто
в Классе Запчасти Название запчасти и стоимость
в Классе Калькулятор должно считаться вся стоимость всех запчастей которые входят в авто

Добавлено через 39 минут
Ктонить знает как реализовать данную программу на с++ ?

Добавлено через 31 минуту
Ребят кто поможет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 22:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Примерчики ООП простые (C++):

ООП задачи (нужны простые коды) - C++
Есть у кого нибудь простые коды, написанные объектно ориентированным программированием, чтобы на примере увидеть как это работает , скиньте...

Как научиться создавать на C++ простые приложения (очень простые игры)? - C++
Помогите, я хочу научится создавать какието для начала очень простые игры, приложения. но я вооще ничего не знаю :wall: не знаю с чего...

Задача про простые числа. Выпишите все простые числа, находящиеся в интервале между а и б - C++
#include <stdio.h> #include <iostream> #include <conio.h> #include <math.h> using std::cout; using std::cin; using...

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...

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

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

6
dimadjs
1 / 1 / 0
Регистрация: 12.06.2010
Сообщений: 49
27.12.2012, 00:29  [ТС] #2
Что некто не знает ?

Добавлено через 26 минут
ну кто знает может поможет, все жэ когда о начинали

Добавлено через 1 час 23 минуты
Подскажет ктонить?
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
27.12.2012, 01:01 #3
не указанна размерность массива запчастей в классе авто. И не пойму зачем нужно создавать класс Калькулятор, когда можно сделать метод, возвращающий стоимость авто в самом классе авто
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
#include <string>
 
class Auto
{
public:
    std::string autoName;
    Spare mas[10];
    double getCost()            // вот он наш метод
    {
        double autoCost;
        for (int i = 0; i < 10; ++i)
        {
            autoCost += mas[i].spareCost;
        }
        return autoCost;
    }
};
 
class Spare
{
public:
    std::string spareName;
    double spareCost;
};
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
27.12.2012, 01:05 #4
Вот авто, дальше по примеру:

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <string>
#include <iostream>
 
class Avto{
 
private:
  enum {CON = 10};
  std::string name;
  std::string spares[CON];
 
public:
 
  void setNameAvto(const char * str) { name = str; }
 
  void setSpares(const char *str) {
 
    bool BL = false;
    for(int i = 0; i<CON; i++){
      if(spares[i].size() == 0){
        spares[i] = str;
        BL = true;
        break;
      }
    }
 
    if(!BL)
      std::cout << "Массив запчастей переполнен";
  }
 
  void show()
  {
    std::cout << "Имя: " << name;
    std::cout << std::endl;
 
    for(int i = 0; i<CON; i++){
        if(spares[i].size() == 0) break;
      std::cout << "Запчасть номер: " << i+1 << ": " << spares[i];
      std::cout << std::endl;
  }
  }
};
 
int main()
{
  Avto avto;
 
  avto.setNameAvto("BMW");
 
  avto.setSpares("Колесо");
  avto.setSpares("Руль");
  avto.setSpares("Дверь");
 
  avto.show();
 
  return 0;
}
0
Миниатюры
Примерчики ООП простые  
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
27.12.2012, 01:08 #5
double autoCost = 0; забыл инициализировать
1
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
27.12.2012, 01:37 #6
Цитата Сообщение от SummerRain Посмотреть сообщение
Spare mas[10];
Вроде так делать нельзя. Вот из книги:

Иногда хорошо бы иметь символические константы с областью видимости класса.Например, объявление класса может использовать литерал 12 для указания размерамассива. Поскольку одна и та же константа применяется для всех объектов, было бынеплохо создать единственную константу, разделяемую всеми объектами. На первыйвзгляд, может показаться, что решается это следующим образом:

C++
1
2
3
4
5
6
class Bakery{
private:
    const int Months =12;
    double costs[Months];
...
// объявление константы? НЕ УДАСТСЯ
Но это не работает, потому что объявление класса описывает, как выглядит объект,но не создает объекта. Следовательно, до тех пор, пока вы не создадите объект,хранить это значение негде.
Очень похоже на ошибку. Но я не уверен, у меня компилируется...
1
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
27.12.2012, 08:24 #7
KeyGen,
C++
1
Spare mas[10];
Так можно, только лучше с именованной константой.


C++
1
2
const int Months = 12;
double costs[Months];
А тут будет ошибка, можно исправить, сделав переменную статической
C++
1
static const int Months = 12;
1
27.12.2012, 08:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 08:24
Привет! Вот еще темы с ответами:

ООП - C++
#pragma hdrstop #pragma argsused //#include &quot;Student.hpp&quot; //#include &quot;Prof.hpp&quot; //#include &quot;Personne.hpp&quot; #include &lt;conio.h&gt; ...

ООП на С++ - C++
Помогите пожалуйста!! Не понимаю как это сделать(( Создать программу с классом Student порождающий обьекты - данные об студентах...

ООП - C++
наследование - понятно агрегация - понятно использование - не понятно. что такое использование? спасибо.

ООП в С++ - C++
Здравствуйте! Ответьте пожалуйста на несколько вопросов... p.s. буду рад , если ответы будут сопровождаться примерами :) Хочу...


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

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

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