Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Исправление задачи по программированию C++

wQ . Ученик (88), открыт 1 неделю назад
как можно исправить данный код, чтобы размер его был меньше 1 Мб, но при этом он работал корректно.
#include <exception>

class ExceptionAttempts : public std::exception {
public:
const char* what() const noexcept override {
return "Too many attempts";
}
};

class Proxy : public IVault {
private:
IVault* realObject;
int attempts;
int failedAttempts;
bool isLocked;

public:
Proxy(IVault* realObject, int attempts) : realObject(realObject), attempts(attempts), failedAttempts(0), isLocked(false) {}

bool unlock(int pass) override {
if (isLocked) {
throw ExceptionAttempts();
}

bool result = realObject->unlock(pass);
if (!result) {
failedAttempts++;
if (failedAttempts >= attempts) {
isLocked = true;
throw ExceptionAttempts();
}
} else {
isLocked = true;
}

return result;
}
};
3 ответа
resurce Мастер (2303) 1 неделю назад
#include <exception>

class ExceptionAttempts : public std::exception {
public:
const char* what() const noexcept override {
return "Too many attempts";
}
};

class Proxy : public IVault {
private:
IVault* realObject;
int attempts, failedAttempts;
bool isLocked;
public:
Proxy(IVault* realObject, int attempts) : realObject(realObject), attempts(attempts), failedAttempts(0), isLocked(false) {}
bool unlock(int pass) override {
if (isLocked) throw ExceptionAttempts();
bool result = realObject->unlock(pass);
if (!result) {
if (++failedAttempts >= attempts) {
isLocked = true;
throw ExceptionAttempts();
}
} else isLocked = true;
return result;
}
};
wQ .Ученик (88) 1 неделю назад
все равно большой размер((
Сергей Гений (56722) 1 неделю назад
Размер приложения не зависит от этого кода, никаких лишних библиотек не используется, статической и динамической памяти тоже. Если проверяющая программа сама себе накидала более мегабайта и сама же жалуется на это - тут наука бессильна)
ПапаВысший разум (122920) 1 неделю назад
Кстати, современные сиплюсплюсные рантаймы - мегабайт по 10 будут...
keidid ududud Ученик (104) 1 неделю назад
получилось решить 4.3.1 или 4.5.1?
wQ .Ученик (88) 1 неделю назад
да
keidid ududud Ученик (104) wQ ., можешь пожалуйста скинуть, мне 1 задачи не хватает и все никак не могу решить
Похожие вопросы