Task 3 Order
Помислих си, че няма да получа отговор и за тази задача и направих ( . erase(). - т.е. я изтрих.
Здравейте, BobyTopalova,
kolioi добави нов отговор към въпрос за който сте абониран Task 3 Order.
Съдържание на отговора:
Този ред
OrderedInserter inserter{ companies };
създава обект (instance) на класа OrderedInserter и го инициализира с празен вектор companies. После четеш компаниите една по една и ги добавяш в companies чрез метода insert() по такъв начин, че компаниите са сортирани по id.
Привет,
Колегата, @kolioi правилно те е насочил как да решиш задачата.
Това отговаря на въпроса как да решим самата задача.
Относно въпросите, коите задаваш @BobyTopalova изглежда, че не е станало ясно как се работи с пойнтери към даден class.
Например имаме:
std::string name = "Zhivko"
name.erase(name.begin()); //трием първата буква
std::cout << name; //ще отпечата "hivko"
Сега същото нещо, но направено през пойнтър:
std::string name = "Zhivko";
std::string * namePtr = &name; //взимаме адреса на стринга "name"
namePtr->erase(name.begin()); //трием първата буква
std::cout << name; //ще отпечата "hivko"
Сега погледни скелета на класа Company.
class Company {
std::string name;
int id;
public:
std::string getName() const {
return this->name;
}
int getId() const {
return this->id;
}
};
Полетата "name" и "id" са private, но можем да достъпим техните стойности (в случая копие на техните стойности), ако ползваме getter функциите "getName()" и "getId()".
Т.е. щом имаме пойнтър кън тип Company, ние можеж да достъпим тези getter-и през него.
Company* c = нещо си.
c->getName() или c->getId().
На отговора дали ти трябва да сортираш - да, ти трябва да сортираш. Това трябва да става директно във функцията .insert() на класа
OrderedInserter,
който трябва да се имплементира.Всеки съвет е добър, когато си "изгубен" в кода. На всеки искам да кажа ,че неговият отговор най-много ми е помогнал. Важно е да ни помагате, за да научим нещо. Не бях виждала инстанция на класа и след нея, къдрави скоби. Учебниците, с които разполагам, не ми помагат особено. Сортирането в клас е по-различно, има компаратор, една булева функция,( която ми напомня функтор).