|
|||||||
Время создания: 16.08.2017 17:22
Раздел: Computer - Programming - C++ - Coursera White_Belt
|
|||||||
|
|||||||
Вам дана функция string AskTimeServer(), про которую известно следующее:
Используя функцию AskTimeServer, напишите класс TimeServer со следующим интерфейсом: 1
2
3
4
5
6
class TimeServer { public: string GetCurrentTime();
private: string LastFetchedTime = "00:00:00"; };
Метод GetCurrentTime должен вести себя так:
Как выполнять задание Вам дан файл, содержащий заготовку класса TimeServer. В нём вам надо реализовать метод GetCurrentTime так, как описано выше. Файл содержит пустую функцию AskTimeServer. Для тестирования своей реализации вы можете пробовать добавлять разные команды в её тело:
#include <iostream> #include <exception> #include <string> using namespace std; string AskTimeServer() { /* Для тестирования повставляйте сюда код, реализующий различное поведение этой функии: * нормальный возврат строкового значения * выброс исключения system_error * выброс другого исключения с сообщением. */ // throw runtime_error("fail"); // throw system_error(error_code()); // return "16:08:55"; } class TimeServer { public: string GetCurrentTime() { /* Реализуйте этот метод: * если AskTimeServer() вернула значение, запишите его в LastFetchedTime и верните * если AskTimeServer() бросила исключение system_error, верните текущее значение поля LastFetchedTime * если AskTimeServer() бросила другое исключение, пробросьте его дальше. */ try { LastFetchedTime = AskTimeServer(); } catch (system_error& se) { } return LastFetchedTime; } private: string LastFetchedTime = "00:00:00"; }; int main() { // Меняя реализацию функции AskTimeServer, убедитесь, что это код работает корректно TimeServer ts; try { cout << ts.GetCurrentTime() << endl; } catch (exception& e) { cout << "Exception got: " << e.what() << endl; } getchar(); return 0; } |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|