Софтуерно Инженерство
Loading...
y.ivanov avatar y.ivanov 33 Точки

Задача 2 от Full C++ OOP

Привет,

Имам питане по условието на задача 2.

"contains a pointer to a dynamically allocated array of numbers (new double[…]), has a name for each of those numbers, and has a getName(int index) and a getValue(int index) method"

Това с асоциативен масив ли трябва да се случи, защото лично аз не виждам друг начин? Т.е. щом всяко число трябва да си има и име.

Поздрави

Ясен

Тагове:
0
C++ Programming
georgi.stef.georgiev avatar georgi.stef.georgiev 904 Точки
Best Answer

Здравей,

Не, не е задължително да е с асоциативен масив, макар че това би улеснило нещата.

Спомни си какво си говорихме за писане на код, когато нямаме ООП - правим "паралелни" масиви, в които на всеки индекс от всеки масив имаме съответните данни за някакъв обект.

В твоя случай:

string * names = new string[NUM_THINGS];

double * values = new double[NUM_THINGS];

и оттам нататък names[i] е името на i-тото нещо и values[i] е стойността на i-тото нещо.

Поздрави,

Жоро

Edit: или, ако не приемаш буквално частта с new double[...], можеш просто да си направиш един class NameValue {string name; double value}; и да си създаваш масив от него: NameValue * namedValues = new NameValue[NUM_THINGS];

0
08/04/2017 15:21:20
y.ivanov avatar y.ivanov 33 Точки

Привет,

Благодаря за отговора :)

Поздрави

Ясен

0