Exercise - Special Class Members - 5. Register
Здравейте,
доста се поблъсках с тази задача и мисля, че изобщо не мога разбера какво се изисква от мен, че да го направя.
Разсъжденията ми са:
1. Трябва да позлвам companiesArray да сочи към array от обекти Company с големината, която ми се дава през конструктура? Ако това е така, то това, което правя не работи и array винаги си остава с size 1.
Register::Register(size_t numCompanies) {
companiesArray = new Company[numCompanies];
//companiesArray = (Company*)malloc(sizeof(Company) * numCompanies);
}
2. После с member-a add да добавям компании, което не мисля, че има нещо сложно тук.. и все пак може да грешно?
void Register::add(const Company& c) {
companiesArray[numAdded] = c;
numAdded++;
}
3. И накрая с get да намирам тази компания и да я изписвам, за което правя това:
Company Register::get(int companyId) const {
for (size_t i = 0; i < numAdded; ++i) {
if (companiesArray[i].getId() == companyId) {
return companiesArray[i];
break;
}
}
//return ERROR;
}
Отговора ми излиза но judge ми дава 0/100 с Runtime error на всичко.
Пробвах с static контейнер най-горе, в който да записвам компаниите, но тогава пък изобщо не позлвам пойнтъра заложен в header-a (освен, че и не отново не успявам да го накрам да сработи)..
И мисля, че или тотално се бъркам нещо, или не разбирам условието.. :?
Целият код: Register.cpp
Много ми се иска да знам и разбирам как се решава тази задача, и за това предварително съм благодарен за отделеното време.
Поздрави,
Илиян
Много благодаря!
Стана вече 100/100 :)
Аз в един от опитите я бях инициализирал, но впоследствие съм я затрил и тотално съм я збаравил, и си мисля, че е там и си върши работата.. Но ако header-a беше мой още там щях да я зануля.
Останалите неща също ги оправих.
Но се радвам, че правилно съм разбрал, какво трябва да се направи, но ще трябва да се решават повече задачи!
Поздрави,
Илиян