В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
znanija144
znanija144
16.01.2023 07:01 •  Информатика

1оо ! ! нужна программа на с++ хотя бы часть! опишите класс с - книга. члены класса - автор - динамическая строка символов, название книги - строка символов, год издания целое число. определите в классе конструктор по умолчанию, конструктор инициализации, деструктор класса и функции - члены класса чтения имени автора книги, чтения названия книги, чтения цены книги, года издания. объявите в классе дружественную функцию для изменения года издания и цены книги. в программе покажите работо класса с.

Показать ответ
Ответ:
Сонькамя
Сонькамя
28.05.2020 12:46

В задании указано сделать дружественную функцию для того чтобы устанавливать новую цену на книгу, но не указано делать поле price, поэтому я его добавил (с типом double).

Мой вариант:

#include <iostream>

#include <string.h>

using namespace std;

class Book

{

   char *autor;

   char name[50];

   int year;

   double price;

public:

   Book()

   {

       autor = new char[50];

       strcpy(autor,"undefined");

       strcpy(name,"undefined");

       year=0;

       price=0;

   }

   Book(char *name, char *autor, int year, double price)

   {

       this->autor = new char[50];

       this->year=year;

       strcpy(this->name,name);

       strcpy(this->autor,autor);

       this->price=price;

   }

   ~Book()

   {

       delete[]autor;

   }

   char* getName() { return name; }

   char* getAutor() { return autor; }

   double getPrice() { return price; }

   int getYear() { return year; }

   friend  void setPrice(Book& obj, double price);

   friend  void setYear(Book& obj, int year);

};

void setPrice(Book& obj, double price)

{

   obj.price = price;

}

void setYear(Book& obj, int year)

{

   obj.year = year;

}

int main()

{

   Book b("Harry Potter","Joanne Rowling",1995,100);

   cout << "Book name - " << b.getName() << endl;

   cout << "Autor name - " << b.getAutor() << endl;

   cout << "Release year - " << b.getYear() << endl;

   cout << "Book price - " << b.getPrice() << endl;

   setPrice(b,150);

   setYear(b,1997);

   cout << "New book price - " << b.getPrice() << endl;

   cout << "New release year - " << b.getYear() << endl;

   cin.get();

   cin.get();

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота