Код: Выделить всё
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
// Модель
class Model {
public:
void addData(const std::string& data) {
dataList.push_back(data);
}
const std::vector<std::string>& getData() const {
return dataList;
}
private:
std::vector<std::string> dataList;
};
// Представление
class View {
public:
void displayData(const std::vector<std::string>& data) const {
std::cout << "Data:\n";
for (const auto& item : data) {
std::cout << "- " << item << '\n';
}
}
};
// Контроллер
class Controller {
public:
Controller(Model& model, View& view) : model(model), view(view) {}
void addData(const std::string& data) {
model.addData(data);
}
void updateView() {
view.displayData(model.getData());
}
private:
Model& model;
View& view;
};
int main() {
Model model;
View view;
Controller controller(model, view);
controller.addData("First entry");
controller.addData("Second entry");
controller.updateView(); // Показать данные
return 0;
}
Код: Выделить всё
g++ -std=c++11 -o mvc_example mvc_example.cpp
View: Отвечает за отображение данных пользователю.
Controller: Обрабатывает взаимодействия и взаимодействует с моделью и представлением.
Это базовая структура, которую можно расширять для более сложных приложений, добавляя функциональность, такую как обработка событий, более сложные модели данных и так далее.