+++++Абстракция данных


Download 57.24 Kb.
bet1/23
Sana20.11.2023
Hajmi57.24 Kb.
#1790263
  1   2   3   4   5   6   7   8   9   ...   23
Bog'liq
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:
  1   2   3   4   5   6   7   8   9   ...   23




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling