Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
5 / 5 / 1
Регистрация: 09.09.2012
Сообщений: 227

для чего используются

10.12.2012, 08:44. Показов 548. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос для чего используются private member variables numItems и allocatedItems

и какова цель private cartItems?

в следующем коде:

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using namespace std;
41. #ifndef CART_H
42. #define CART_H
43. #include <string>
44. #include "ApplicationException.h"
45. class ShoppingCartException : public ApplicationException
46. {
public:
48. ShoppingCartException();
49. ShoppingCartException(string errorMsg);
50. ShoppingCartException(char errorMsg[]);
51. };
52. class ShoppingCart
53. {
54. public:
55. ShoppingCart();
56. void addToCart(string itemDesc) throw(ShoppingCartException);
57. void addToCart(char itemDesc[]) throw(ShoppingCartException);
58. string getItem(string itemDesc) throw(ShoppingCartException);
59. string getItem(char itemDesc[]) throw(ShoppingCartException);
60. string getItem(int itemNumber) throw(ShoppingCartException);
61. private:
62. string *cartItems;
63. int numItems;
64. int allocatedItems;
65. void increaseCartAllocation(int count);
66. };
67. #endif
 
 
и 
 
#include <iostream>
72. #include "ShoppingCart.h"
73. using namespace std;
74. const int ALLOCATE_SIZE = 10;
75. // Implementation of the ShoppingCartException class
76. ShoppingCartException::ShoppingCartException(): ApplicationException()
77. { message = "Error Detected in Shopping Cart Class"; }
78. ShoppingCartException::ShoppingCartException(string errorMsg): ApplicationException()
79. { message = errorMsg; }
80. ShoppingCartException::ShoppingCartException(char errorMsg[]): ApplicationException()
81. { message = errorMsg; }
82. // Implementation of the ShoppingCart class
83. ShoppingCart::ShoppingCart()
84. {
85. cartItems = new string[ALLOCATE_SIZE];
86. numItems = 0;
87. allocatedItems = ALLOCATE_SIZE;
88. }
89. void ShoppingCart::addToCart(string item) throw(ShoppingCartException)
90. {
91. if (numItems == allocatedItems)
92. increaseCartAllocation(ALLOCATE_SIZE);
93. numItems++;
cartItems[numItems - 1] = item;
95. }
96. void ShoppingCart::addToCart(char item[]) throw(ShoppingCartException)
97. {
98. if (numItems == allocatedItems)
99. increaseCartAllocation(ALLOCATE_SIZE);
100. numItems++;
101. cartItems[numItems - 1] = item;
102. }
103. string ShoppingCart::getItem(string itemDesc) throw(ShoppingCartException)
104. {
105. for (int i = 0; i < numItems; i++)
106. if (cartItems[i] == itemDesc)
107. return cartItems[i];
108. throw ShoppingCartException("Item " + itemDesc + " is not in Shopping Cart");
109. }
110. string ShoppingCart::getItem(char itemDesc[]) throw(ShoppingCartException)
111. {
112. string temp = itemDesc;
113. for (int i = 0; i < numItems; i++)
114. if (cartItems[i] == temp)
115. return cartItems[i];
116. throw ShoppingCartException("Item is not in Shopping Cart");
117. }
118. string ShoppingCart::getItem(int itemNumber) throw(ShoppingCartException)
119. {
120. if (itemNumber > numItems - 1)
121. {
122. ShoppingCartException temp("Item number is too large");
123. throw temp;
124. }
125. else
126. return cartItems[itemNumber];
127. }
128. void ShoppingCart::increaseCartAllocation(int count)
129. {
130. allocatedItems += count;
131. string *temp = new string[allocatedItems];
132. for (int i = 0; i < numItems; i++)
133. temp[i] = cartItems[i];
134. cartItems = temp;
135. }
Добавлено через 53 минуты
Which lines of code are converting C-Strings to string class values?

Добавлено через 14 минут
Suppose we want another overloaded getItem member function of the ShoppingCart class, just like the one declared in line 58, but that returns a C_String rather than a string class value. What would the declaration for that function look like?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2012, 08:44
Ответы с готовыми решениями:

Для чего используются DLL-библиотеки?
Для чего используются DLL-библиотеки Неужели заголовочного файла мало.

Для чего используются побитовые операции?
Для чего используются побитовые операции &amp; и | ? В чем их назначение?

Какие паттерны используются в программе и для чего?
Помогите, пожалуйста, разобраться. Определите какие паттерны в программе. для чего они там? class...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2012, 08:44
Помогаю со студенческими работами здесь

Что такое полис и конечные автоматы и для чего используются в с++?
ОЧЕНЬ ХОЧУ ЗНАТЬ. ПОМОГИТЕ!!!!!!!!!

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для...

Почему в С++ используются сложные имена для структур?
Их читать сложно. BITMAPFILEHEADER LPBITMAPFILEHEADER PBITMAPFILEHEADER FONTSIGNATURE...

Какие параметры используются для контроля формата строк?
Всем привет. Например я использую функцию sprintf_s и в ней есть 3-й параметр format...

Какие основные функции используются для неформатированного доступа к файлу?
Подскажите: какие основные функции используются для неформатированного доступа к файлу? Спасибо!


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru