Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Привет,
Благодаря за инфото, написах кода, но имам само 1 проблем...не иска да влезе във [Shortcut] и само ми изписва името като папка
и след това отива на следващата, а самите неща които са shortcut не ми ги изкарва... ще напиша само как започнах кода за да не си изпращам цялото решение :
std::string getTreeView(std::vector<std::shared_ptr<FileSystemObject>> rootObjects)
{
for (size_t i = 0; i < rootObjects.size(); i++)
{
std::shared_ptr<FileSystemObject> currPtr = rootObjects[i];
std::shared_ptr<Directory> directory = std::dynamic_pointer_cast<Directory>(currPtr);
...........
}
как мога да изкарам Shortcut-ите ? Ако може малко помощ : )
П.П.
Много е вероятно пак да не съм задал въпроса както трябва, но явно не ме бива в тези неща :D
извинявам се за което !
Поздрави!
Привет,
Правилно подхождаш.
Не ти "влиза" в shortcut-ите, защото не му казваш да "влиза".
- Това няма как да стане на 1 стъпка, а става на няколко.
- Обхождаш всичко на моментното ниво;
- "Влизаш" надолу във всяка папка и повтаряш горната стъпка;
- Повтаряш докато не остат файлове/папки.
Подсказка:
Това обикновенно се прави с рекурсия.
Малко жокери можеш до ползваш и темата на колегата за същата задача:
https://softuni.bg/forum/26204/09-cplusplus-oop-pure-virtual-members-and-multiple-inheritance-task-4-tree
Само внимавай, че теб те пренасочвам натам, а него го пренасочвам на тук. Да не стане някоя безкрайна рекурсия и да гръмне със stack overflow :)
Поздрави
Привет отново,
май не се разбрахме. Проблема ми е че когато кастна това:
std::shared_ptr<Directory> directory = std::dynamic_pointer_cast<Directory>(currPtr); ми връща nullptr на Shortcuts това означава, че не мога да "влезна" по навътре!
Ето какво ми принтира за по-добро обяснение :
[shortcuts]
examples
--->example.txt
--->nested
--->--->noDot
--->--->otherFile.txt
rootDir
rootFile.txt
Въпросът ми е дали бъркам някъде във getTreeView функцията или някъде другаде. Класа Directory ми наследява FileSystemObject и FileSystemObjectsContainer каквито наследява и класа Shortcut. За момент си помислих да не е от там, но няма как понеже ако е друго програмата гърми. Не мога да кастна std::dynamic_pointer_cast към Shortcuts понеже конструктора не позволява...къде бъркам не мога да разбера :(
Когато започна да дебъгвам проверявам да не би преди да влезе във функцията getTreeView да липсват елементите във Shortcuts, но всичко е там ...използвам рекурсия в задачата.
Поздрави!