Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- class Point {
- public:
- // Конструкторы
- Point() : x(0), y(0), z(0) {}
- Point(double x_, double y_, double z_) : x(x_), y(y_), z(z_) {}
- // Функции-члены класса
- void input() {
- std::cout << "Введите координаты точки (x, y, z): ";
- std::cin >> x >> y >> z;
- }
- void output() const {
- std::cout << "(" << x << ", " << y << ", " << z << ")";
- }
- // Аксессоры для доступа к переменным-членам
- double getX() const { return x; }
- double getY() const { return y; }
- double getZ() const { return z; }
- void setX(double x_) { x = x_; }
- void setY(double y_) { y = y_; }
- void setZ(double z_) { z = z_; }
- // Функции сохранения и загрузки данных в/из файла
- bool saveToFile(const std::string& filename) const {
- std::ofstream file(filename, std::ios::out);
- if (!file.is_open()) {
- std::cerr << "Не удалось открыть файл для записи: " << filename << std::endl;
- return false;
- }
- file << x << " " << y << " " << z;
- file.close();
- return true;
- }
- bool loadFromFile(const std::string& filename) {
- std::ifstream file(filename, std::ios::in);
- if (!file.is_open()) {
- std::cerr << "Не удалось открыть файл для чтения: " << filename << std::endl;
- return false;
- }
- file >> x >> y >> z;
- file.close();
- return true;
- }
- private:
- double x, y, z; // Координаты точки
- };
- int main() {
- Point p1;
- p1.input();
- p1.output();
- // Доступ к переменным-членам с помощью аксессоров
- std::cout << "\nx = " << p1.getX() << ", y = " << p1.getY() << ", z = " << p1.getZ() << std::endl;
- // Изменение значений переменных-членов с помощью аксессоров
- p1.setX(2.5);
- p1.setY(-1.0);
- p1.setZ(3.7);
- // Сохранение данных в файл
- p1.saveToFile("point.txt");
- // Загрузка данных из файла
- Point p2;
- p2.loadFromFile("point.txt");
- p2.output();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement