Nested classes
Здравейте, опитвам се да направя включен клас, но иска вероятно и дифолтни конструктори, и/или , включеният клас да се подава в конструктора на външния по референция и const, което не ми е ясно как става.
Не знам дали и конструктурите съм направила добре.
Също, ме накара да си направя полетата на включения клас публични, за да мога да работя с тях от методите на външния клас (?)
Вход: подава се информация за градини, в които има различни видове цветя, като особеното е че всеки отделен вид цвете има различни височини на израстване , които ги вкарвам за всеки вид цвете в map<double, int> ( височини : брой на цветята от тази дължина) за съответния вид, в съотв. градина.
GardenA flowerFFF 23,3 20
GardenD flowerER 11,8 150
GardenE flowerC 5,70 80
GardenA flowerFFF 10 300
class FlowersInGarden
{
class Flower
{
public:
std::string flowerName;
std::map<double, int> dataFlower; //hight, quantity
Flower(std::string flowerName, double hight, int quantity) :
flowerName(flowerName)
{
this->dataFlower[hight] = quantity;
}
};
private:
std::string nameGarden;
std::list<Flower> dataLiGardenFlowers;
public:
FlowersInGarden(std::string gardenName, std::string flowerName, double hight, int quantity) :
nameGarden(gardenName)
{
this->dataLiGardenFlowers.push_back({ flowerName, hight, quantity });
}
};
Гениално!
Това, за бързината на работа на кода, си е много важно. Кави правила да се следват за бързодействие на код, за да конструираме правилно контейнери, обекти, включени/или не класове, би ли дал съвет?
Иначе, това е условието, точно което имплементираш, има много градини (с различни имена), като във всяка има много цветя (с различни имена/видове), и всяко цвете е на различен етап от израстване (с различна височина).
Много благодаря!!
Поздрави