+++++Абстракция данных
Download 57.24 Kb.
|
dasturlash
+++++Абстракция данных - это процесс сокрытия сложных деталей реализации и представления объекта от пользователя, в то время как упрощенный интерфейс остается доступным. В C++, абстракция данных часто достигается использованием классов и их методов-членов.Класс может содержать закрытые данные (члены класса), которые недоступны для непосредственного доступа извне. Вместо этого пользователь может взаимодействовать с объектом через публичные методы-члены класса. Эти методы-члены обеспечивают доступ к данным объекта и взаимодействуют с ним. Пользователь не знает какие данные содержит объект или как реализованы его методы. Вместо этого он может использовать методы-члены для получения требуемых результатов. Создание абстракции данных имеет много преимуществ, таких как повышение безопасности, упрощение сложных систем, повышение скорости разработки, возможность переиспользования кода и т.д. ++++Создайте класс Artist и создайте для него дружественную функцию showInfo. Пусть Class состоит из 3 полей и пусть его данные выводятся с помощью #include #include class Artist { private: std::string name; int age; std::string genre; public: Artist(const std::string& _name, int _age, const std::string& _genre) : name(_name), age(_age), genre(_genre) {} friend void showInfo(const Artist& artist); void Print() const { std::cout << "Имя: " << name << std::endl; std::cout << "Возраст: " << age << " лет" << std::endl; std::cout << "Жанр: " << genre << std::endl } }; void showInfo(const Artist& artist) { artist.Print(); } int main() { Artist artist("Имя художника", 30, "Живопись"); showInfo(artist); return 0; } ++++Создайте класс Clock. Объявляйте методы и свойства, используя спецификаторы public и private. Используйте их в основной программе #include class Clock { private: int hours; int minutes; public: Clock() : hours(0), minutes(0) {} void SetTime(int _hours, int _minutes) { hours = _hours; minutes = _minutes; } void DisplayTime() const { std::cout << "Текущее время: " << hours << ":" << minutes << std::endl; } }; int main() { // Создаем объект класса Clock myClock; // Устанавливаем время myClock.SetTime(10, 30); // Выводим на экран myClock.DisplayTime(); return 0; } ++++Создайте класс Curator и создайте для него дружественную функцию showInfo. Пусть Class состоит из 2 полей и пусть его данные выводятся с помощью функции showInformation. #include #include class Curator { private: std::string name; int age; public: Curator(const std::string& _name, int _age) : name(_name), age(_age) {} friend void showInfo(const Curator& curator); { std::cout << "Name: " << name << std::endl; std::cout << "Age: " << age << std::endl; } }; { curator.showInformation(); } int main() { Curator curator("Curator Name", 35); showInfo(curator); return 0; } ++++Создайте класс Dekan и создайте для него дружественную функцию Info. Пусть Class состоит из 4 полей и пусть его данные выводятся с помощью функции showInfo. #include #include class Dekan { private: std::string name; int age; std::string faculty; std::string position; public: Dekan(const std::string& _name, int _age, const std::string& _faculty, const std::string& _position) : name(_name), age(_age), faculty(_faculty), position(_position) {} // Функция для вывода данных void showInfo() const { std::cout << "Имя: " << name << std::endl; std::cout << "Возраст: " << age << std::endl; std::cout << "Факультет: " << faculty << std::endl; std::cout << "Должность: " << position << std::endl; } friend void Info(const Dekan& dekan); }; void Info(const Dekan& dekan) { dekan.showInfo(); } int main() { Info(dekan); return 0; } ++++Создайте класс Diplomat и создайте для него дружественную функцию showInfo. Пусть Class состоит из 3 полей и пусть его данные выводятся с помощью функции showInfo. #include #include class Diplomat { private: std::string name; int age; std::string country; public: Diplomat(const std::string& _name, int _age, const std::string& _country) : name(_name), age(_age), country(_country) {} friend void showInfo(const Diplomat& diplomat); }; void showInfo(const Diplomat& diplomat) { std::cout << "Имя: " << diplomat.name << std::endl; std::cout << "Возраст: " << diplomat.age << std::endl; std::cout << "Страна: " << diplomat.country << std::endl; } int main() { showInfo(diplomat); return 0; } ++++Создайте класс Football Team. Имеют 2 метода и 3 свойства. Отправьте имя капитана команды с помощью метода getCaptain() #include #include class FootballTeam { private: std::string name; std::string city; std::string captain; public: FootballTeam(const std::string& _name, const std::string& _city) : name(_name), city(_city) {} void setCaptain(const std::string& _captain) { captain = _captain; } std::string getCaptain() const { return captain; } }; int main() { FootballTeam team("Название команды", "Город команды"); team.setCaptain("Имя капитана"); std::cout << "Имя капитана команды: " << team.getCaptain() << std::endl; return 0; } ++++Создайте класс Football Team. Объявляйте методы и свойства, используя спецификаторы public и private. Используйте их в основной программе #include #include class FootballTeam { private: std::string name; std::string city; std::string captain; public: FootballTeam(const std::string& _name, const std::string& _city) : name(_name), city(_city) {} void setCaptain(const std::string& _captain) { captain = _captain; } std::string getCaptain() const { return captain; } }; int main() { FootballTeam team("Название команды", "Город команды"); team.setCaptain("Имя капитана"); std::cout << "Имя капитана команды: " << team.getCaptain() << std::endl; return 0; } ++++Создайте класс Football Team. Пусть будет 2 метода, 4 свойства, 2 конструктора и 1 деструктор #include #include class FootballTeam { private: std::string name; std::string city; std::string captain; std::string stadium; public: FootballTeam() { name = ""; city = ""; captain = ""; stadium = ""; } FootballTeam(const std::string& _name, const std::string& _city, const std::string& _captain, const std::string& _stadium) : name(_name), city(_city), captain(_captain), stadium(_stadium) {} ~FootballTeam() { std::cout << "Объект класса FootballTeam уничтожен" << std::endl; } void setCaptain(const std::string& _captain) { captain = _captain; } std::string getCaptain() const { return captain; } }; int main() { FootballTeam team1; FootballTeam team2("Название команды", "Город команды", "Имя капитана", "Стадион команды"); team2.setCaptain("Новое имя капитана"); std::cout << "Имя капитана команды: " << team2.getCaptain() << std::endl; return 0; } ++++Создайте класс GeometricShaql с методом нахождения поверхности прямоугольников и треугольников. Используйте эти методы в основной программе #include class GeometricShape { public: static double calculateRectangleArea(double width, double height) { return width * height; } static double calculateTriangleArea(double base, double height) { return 0.5 * base * height; } }; int main() { double rectangleWidth = 5.0; double rectangleHeight = 8.0; double triangleBase = 4.0; double triangleHeight = 6.0; double rectangleArea = GeometricShape::calculateRectangleArea(rectangleWidth, rectangleHeight); double triangleArea = GeometricShape::calculateTriangleArea(triangleBase, triangleHeight); std::cout << "Площадь прямоугольника: " << rectangleArea << std::endl; std::cout << "Площадь треугольника: " << triangleArea << std::endl; return 0; } Создайте класс Player и создайте для него дружественную функцию showInfo. Пусть Class состоит из 4 полей и пусть его данные выводятся с помощью функции showInfo #include #include class Player { private: std::string name; int age; std::string position; std::string team; public: Player(const std::string& _name, int _age, const std::string& _position, const std::string& _team) : name(_name), age(_age), position(_position), team(_team) {} friend void showInfo(const Player& player); }; void showInfo(const Player& player) { std::cout << "Имя: " << player.name << std::endl; std::cout << "Возраст: " << player.age << std::endl; std::cout << "Позиция: " << player.position << std::endl; std::cout << "Команда: " << player.team << std::endl; } int main() { Player player("Имя игрока", 25, "Позиция игрока", "Команда игрока"); showInfo(player); return 0; } Создайте класс Police и создайте для него дружественную функцию showInfo. Пусть Class состоит из 3 полей и пусть его данные выводятся с помощью функции showInfo. #include #include class Police { private: std::string name; int age; std::string rank; public: Police(const std::string& _name, int _age, const std::string& _rank) : name(_name), age(_age), rank(_rank) {} friend void showInfo(const Police& police); }; void showInfo(const Police& police) { std::cout << "Имя: " << police.name << std::endl; std::cout << "Возраст: " << police.age << " лет" << std::endl; std::cout << "Звание: " << police.rank << std::endl; } int main() { Police police("Имя полицейского", 35, "Звание полицейского"); showInfo(police); return 0; } ++++Создайте класс Teacher и создайте для него дружественную функцию print. Пусть Class состоит из 3 полей и пусть его данные выводятся с помощью функции showInfo. #include #include class Teacher { private: std::string name; int age; std::string subject; public: Teacher(const std::string& _name, int _age, const std::string& _subject) : name(_name), age(_age), subject(_subject) {} friend void showInfo(const Teacher& teacher); }; void showInfo(const Teacher& teacher) { std::cout << "Имя: " << teacher.name << std::endl; std::cout << "Возраст: " << teacher.age << " лет" << std::endl; std::cout << "Предмет: " << teacher.subject << std::endl; } int main() { Teacher teacher("Имя учителя", 40, "Предмет, который преподает"); showInfo(teacher); return 0; } Download 57.24 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling