-
Вопрос по информатике:
ДАЮ 1ОО БАЛЛОВ! СРОЧНО!!! Нужна программа на С++
Хотя бы часть!
Опишите класс С - книга. Члены класса - автор - динамическая строка символов, название книги - строка символов, год издания целое число. Определите в классе конструктор по умолчанию, конструктор инициализации, деструктор класса и функции - члены класса чтения имени автора книги, чтения названия книги, чтения цены книги, года издания. Объявите в классе дружественную функцию для изменения года издания и цены книги. В программе покажите работоспособность класса С.-
Автор:
backbone
-
-
7. Компилятор многое делает за ленивых программистов, да не все. По скольку программирование на C++ это не тоже самое что на Js/Python итд что позволяет писать что угодно и как угодно и все равно будет работать... На C++ требуется особое внимание к таким мелочам как качество кода, в данном случаи работает правило One enter point - One exit point. В твоем случаи последнее отсутствует, рекомендовано вставлять по двум причинам - очевидность кода и снижение потенциально опасных мест.Теперь то что ниже ты написал:- Обучение (не важно школьника или не школьника) должно быть корректным и правильным. Коль ты не хочешь, не знаешь или не умеешь писать как минимум хорошо, то лучше не берись. Ты вливаешь информацию на самых ранних этапах обучения, что всенепременно ведет к тому, что придется переучиваться позже, что есть больнее и сложнее.- this является лишней конструкцией в конструкторе объекта (простите за товтологию), решается это адекватным неймингом переменных и полей класса. В тот же момент как return в main как я уже ссылался к правилу One enter point - one exit point является вопиющим его нарушением.- Навыки адеватного написания кода пригодятся в работе, следует выробатывать их начиная с обучения, ибо такими темпами работы может и не быть по этому направлению. А как сказал выше, следует писать как минимум хорошо, если речь заходит об ответах тут.Постскриптум1. Я не говорю что твой ответ плохой, но косяки есть, и их следует исправлять, не в этом ответе так в следующих.2. Я коментирую ответы на C и C++ и буду коментировать, это моя стехия и я слежу что бы ответы были либо хорошими, либо коментирую что не так - для этого коментарии тут и нужны.3. Все что я писал - не из 90х, ты можешь это найти в книгах подолбных Effective Modern C++ или C++ the complete reference от создателей языка либо людей с огромным опытом и признаным авторитетом.
В задании указано сделать дружественную функцию для того чтобы устанавливать новую цену на книгу, но не указано делать поле 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();
}
-
Вопрос по математике:
Одна ласточка понимала 26 букашек
А вторая поимала 3 букашки. Сколько букашек они поимали вмести?
Какая из ласточек поимала больше букашек? На сколько
Помогите как правельно написать задачу пожалуйста
-
Ответов: 6
-
5 лет назад
-
-
Вопрос по математике:
Прочитайте и озоглавьте текст. Найдите однородные члены предложения. Небо темнеет, хмурится. Гаснут в садах последние хризантемы и астры. Тучи собираются, но не приносят дождя. Прячутся в них луна, звёзды.
СРОЧНО ПОЖАЛУЙСТА ЗАРАНЕ СПАСИБО-
Ответов: 2
-
5 лет назад
-
-
Вопрос по математике:
Запишите какую-нибудь десятичную дробь, расположенную между числами 14,5 и 14,6. Ответ запишите с двумя знаками после запятой.-
Ответов: 2
-
5 лет назад
-
-
Вопрос по праву:
Председатель Правительства РФ, временно замещающий Президента РФ, находящегося на лечении, назначил референдум о внесении в Конституцию поправки, в которой вводился пост вице-президента. Конституционно ли в данном случае решение Председателя Правительства РФ?-
Ответов: 1
-
5 лет назад
-