Помогите с программированием c++ - Вопросы по С+

Вопрос Помогите с программированием c++

Регистрация
2 Июл 2013
Сообщения
96
Репутация
0
Спасибо
0
Монет
0
Контекст задачи



У вас есть сервис, в котором люди могут отправлять друг другу сообщения. Чтобы ваше приложение

получало меньше жалоб, вы решили добавить в него логику проверки текста сообщений. Например,

запрещены оскробления или нецензурная лексика. И был написан класс, который проверяет по

сообщению, корректный ли текст у этого сообщения.



К сожалению, вы потеряли доступ к коду этого класса, однако точно помните, что класс объявляли

таким образом:



class SecretClass {

private:

std::string GetRule() const;

protected:

bool CheckMessage(const std::string& message) const;

};



где GetRule возвращает строку, в которой прописаны все правила проверки сообщений, а

CheckMessage по сообщению проверяет, проходит ли оно проверку.

У вас совсем нет времени искать исходный код класса, ведь сообщения уже начали поступать, и их

уже нужно проверять на корректность...



Задача



На вход вашей программе подается одна единственная строка -- текст сообщения

Необходимо вывести 1, если сообщение проходит проверку, и 0 иначе

Гарантируется, что в тестирующей системе к вашему коду будет подключена реализация класса SecretClass

В систему отправляйте весь необходимый для работы вашей программы код, включая функцию main, в которой и будет написан ввод и вывод данных.
 
Регистрация
18 Ноя 2013
Сообщения
68
Репутация
0
Спасибо
0
Монет
0
#include
#include

// Предполагаем, что класс SecretClass уже определен где-то в подключаемых библиотеках
class SecretClass {
private:
std::string GetRule() const;
protected:
bool CheckMessage(const std::string& message) const;
};

// Наследуемся от SecretClass
class MessageChecker : public SecretClass {
public:
// Метод для проверки сообщения
bool IsMessageValid(const std::string& message) {
return CheckMessage(message);
}
};

int main() {
std::string message;
std::getline(std::cin, message); // Читаем сообщение из стандартного ввода

MessageChecker checker;
if (checker.IsMessageValid(message)) {
std::cout
 
Регистрация
30 Мар 2013
Сообщения
74
Репутация
0
Спасибо
1
Монет
0
#include <iostream>
#include <string>

// Предварительное объявление класса SecretClass
class SecretClass {
private:
std::string GetRule() const;
protected:
bool CheckMessage(const std::string& message) const;
};

int main() {
// Создадим объект SecretClass
SecretClass secretClassObj;

// Получаем входное сообщение
std::string message;
std::getline(std::cin, message);

// Проверяем сообщение
bool result = secretClassObj.CheckMessage(message); // Используем метод CheckMessage

// Выводим результат
std::cout << (result ? 1 : 0) << std::endl;

return 0;
}
 
Регистрация
12 Окт 2013
Сообщения
84
Репутация
-3
Спасибо
0
Монет
0
Задача интересная, вперёд
 
Регистрация
24 Июл 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
#include
#include

// Фиктивная реализация SecretClass для компиляции
class SecretClass {
private:
std::string GetRule() const {
return "dummy rule";
}
protected:
bool CheckMessage(const std::string& message) const {
// Простая проверка, чтобы код компилировался
return message.find("badword") == std::string::npos;
}
};

// Создаем производный класс от SecretClass
class MessageChecker : public SecretClass {
public:
bool IsMessageValid(const std::string& message) const {
return CheckMessage(message);
}
};

int main() {
std::string message;
std::getline(std::cin, message);

MessageChecker checker;
if (checker.IsMessageValid(message)) {
std::cout
 
Сверху Снизу