Тема наследование. Задача -Разработать иерархическую структуру классов для обработки данных. Класс Печатное издание содержит данные класса: тип_издания (книга, журнал и т.д.), конструктор, операцию: PrintInfo, которая распечатывает. тип_издания Производный класс: Книга содержит поле name, цена и операцию PrintInfo, которая распечатывает данные базового и производного класса. Напишите главную часть программы, в которой объявите объекты для Книга и для каждого объекта вызовите PrintInfo. Не понятно как это все оформить, вот примерный код проверьте правильно ли, или как то по другому надо? не до конца понял условие и как должен выглядеть код Мой код :
#include <iostream>
using namespace std;
class pechat
{
public:
pechat();
protected:
char type[10];
void printinfo();
};
class kniga : pechat
{
protected:
char name[10];
int price;
public:
kniga();
void PrintInfo();
};
pechat::pechat()
{
cout << "Enter type:" << endl;
cin >> type;
}
kniga::kniga()
{
cout << "Enter name:" << endl;
cin >> name;
cout << "Enter price:" << endl;
cin >> price;
}
void pechat::printinfo()
{
cout << type << endl;
}
void kniga::PrintInfo()
{
cout << "Тип " << type << endl;
cout <<"Имя " << name << endl;
cout <<"Цена "<< price<<endl;
}
int main()
{
setlocale(LC_ALL, "Rus");
kniga V;
cout << "-----------------------------------------------------------------------" << endl;
V.PrintInfo();
system("pause");
}
Думаю, что от Вас хотят примерно это:
#include <iostream>
#include <string>
class PrintEdition
{
public:
PrintEdition(const std::string& type);
virtual void printInfo() const = 0;
private:
std::string type_;
};
class Book : public PrintEdition
{
public:
Book(const std::string& title, const double price);
virtual void printInfo() const;
private:
std::string title_;
double price_;
};
PrintEdition::PrintEdition(const std::string& type)
: type_(type) {}
void PrintEdition::printInfo() const
{
std::cout << "Type: " << type_ << std::endl;
}
Book::Book(const std::string& title, const double price)
: PrintEdition("Book"), title_(title), price_(price) {}
void Book::printInfo() const
{
PrintEdition::printInfo();
std::cout << "Title: " << title_ << std::endl;
std::cout << "Price: $" << price_ << std::endl;
}
int main()
{
Book book("The Old Man and the Sea", 19.99);
book.printInfo();
return 0;
}
Изучайте!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я много читал о том, как работать с потоками в QtКто-то наследуется от QThread и переопределяет void run();, кто-то наследует класс worker от QObject, связывает...
Есть код который подсчитывает кол-во символов и слов в переменной $textС подсчётом символов всё хорошо , но с подсчётом слов есть один баг(фича)
Необходимо сделать подсчёт количества символов в текстовом файле, а затем рассчитать примерное количество времени для прочтения текстаВсё...