Консультант Витте
|
||||||||||||||||
1 | ||||||||||||||||
Class Book ошибочка01.11.2013, 18:06. Показов 1790. Ответов 17
Метки нет (Все метки)
Задания:
Создать пустой проект и добавить в него файл main.cpp с функцией main. Создать заголовочный файл book.h (не забывая о стражах включения) и описать в нём класс book со следующими полями и функциями-членами (все поля должны быть в секции private, а функции-члены в секции public, тела функций-членов определять внутри описания класса, если явно не требуется обратное): 1.поля _title (название) и _author (автор) типа std::string; 2.вещественное поле _price (цена); целочисленное поле _discount (скидка в процентах от 0 до 100); 3.конструктор с параметрами, задающими значения всех полей, причем скидка *— параметр, равный по умолчанию нулю; используйте списки инициализации (тело конструктора должно быть пустым!); 4.константные функции-члены title, author, price и discount, возвращающие значения соответствующих полей (указание: константность функции означает, что в теле этой функции не меняется состояние объекта, константность обозначается спецификатором const после списка параметров в сигнатуре функции); 5.константная функция-член real_price, вычисляющая цену товара с учётом скидки; вынесите определение этой функции в соответствующий заголовку cpp-файл (book.cpp); 6.перегруженная операция вывода книги в поток (реализация в book.h со спецификатором inline):ostream & operator<<(ostream & os, book const & b); 7.функции, устанавливающие новые значения цены и скидки, также в book.cpp;Указание: если скидка не находится в диапазоне от 0 до 100, должно генерироваться стандартное исключение invalid_argument, объявленное в заголовочном файле <stdexcept>: throw invalid_argument("Incorrect discount"); Ошибки:цена со скидкой не работает (real_price). И исключение (hrow invalid_argument("Incorrect discount") Выводит ошибку как на скрине,это нормально?Где тогда текст "Incorrect discount"? 1.book.h:
0
|
01.11.2013, 18:06 | |
Ответы с готовыми решениями:
17
Class book continue Создать класс Book. Переменная типа Book должна содержать следующие поля: Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') Работа с class ами. Заполнение дин. массива типа class |
01.11.2013, 18:24 | 2 |
DmitryM5,
ЧТО ЭТО? C++ void book:: change_discount(int discount) { if(discount<0||discount>100) throw std::invalid_argument("Incorrect discount"); _discount=discount; } DmitryM5, И ЭТО? C++ B.change_discount(200);
0
|
Консультант Витте
|
|
01.11.2013, 18:42 [ТС] | 3 |
Функция, устанавливающая новое значение скидки.Если скидка не находится в диапазоне от 0 до 100, должно генерироваться стандартное исключение invalid_argument, объявленное в заголовочном файле <stdexcept>:
throw invalid_argument("Incorrect discount");
0
|
01.11.2013, 19:06 | 4 |
DmitryM5, а так не пробовали?
C++ double book:: real_price() const { return (_price-_price*(_discount/100.0)); // 100 . 0 }
1
|
Консультант Витте
|
|
01.11.2013, 20:08 [ТС] | 7 |
Если скидка не находится в диапазоне от 0 до 100, должно генерироваться стандартное исключение invalid_argument, объявленное в заголовочном файле <stdexcept>:
throw invalid_argument("Incorrect discount"); Исключение (hrow invalid_argument("Incorrect discount")правильно ли я его обработал?Если да,то где тогда текст "Incorrect discount"?
0
|
01.11.2013, 20:28 | 10 | |||||
1
|
Консультант Витте
|
||||||
01.11.2013, 20:38 [ТС] | 11 | |||||
Спасибо конечно,но непонятно как оно работает,что это и куда это вставлять
Добавлено через 2 минуты Так что ли?
0
|
Консультант Витте
|
||||||
01.11.2013, 20:53 [ТС] | 17 | |||||
Что не так делаю,на 23 и 25 строку жалуетсяСлишком мало параметров для этой функции оператора,и типа _books не определен)...
0
|
01.11.2013, 20:57 | 18 |
Я не вижу тут ошибок, да и вопрос другой.. Создавай новую тему.
1
|
01.11.2013, 20:57 | |
01.11.2013, 20:57 | |
Помогаю со студенческими работами здесь
18
Create a programm that creates an object of created class Time and tests the member functions of class Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a ) enum и class как составляющие другого class Как вызвать функцию class A, из функции class B Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |