Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
katkat95
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 11
#1

Исправить ошибку в коде на наследование - C++

21.05.2014, 18:47. Просмотров 227. Ответов 4
Метки нет (Все метки)

Условие задачи: Создать класс Movie с полями: title (строка), length (в минутах, число). Создать конструктор.
Создать также метод изменения длины (с одним параметром: новая длина в минутах). Создать метод Info, который возвращает информацию о фильме (возвращающий строку). Определить метод проверяющий, что длина фильма (в минутах) больше заданной. Создать производный класс Comedy с дополнительным полем: funniness (строка: “not funny”, “funny”, “very funny”). Создать конструктор и метод Info с дополненными данными.
Вот мой код:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <conio.h>
#include <string>
#include <iostream>
using namespace std;
class Movie
{ private: 
string title;
int length;
public:
Movie(string,int);
void setLength(int);
void info ();
void newLen();
};
Movie::Movie(string t, int l)
{ title=t;
length=l;
};
void Movie::setLength(int newlen)
{
length=newlen;
};
void Movie::info()
{cout<<"Название фильма: "<<title<<endl;
cout<<"Длительность (в минутах): "<<length<<endl;
};
void Movie::newLen()
{ cout<<"Введите новую длину фильма (в минутах)";
int x;
cin>>x;
setLength(x);
if (x>length)
    cout<<"Длина фильма больше заданной"<<endl;
else
    cout<<"Длина фильма меньше заданной"<<endl;
}
class Comedy: Movie
{ 
private:
string funniness;
public:
Comedy (string, int, string);
void Info();
void newLen();
};
Comedy::Comedy(string t1, int len1, string fun): Movie (t1, len1)
{ funniness=fun;
};
void Comedy::Info()
{ info();
cout<<"Смешное ли кино: "<<funniness<<endl;
};
int main ()
{ setlocale(0,"");
Comedy b1("Ведьма", 563, "no funny");
b1.Info();
b1.newLen();
Comedy b2("Книга жизни", 346, "funny");
b2.Info();
system ("pause");
return 0;
}


Выдается ошибка:
Error C2247: 'Movie::newLen' not accessible because 'Comedy' uses 'private' ti inherit from "Movie'
Как исправить это? Подскажите
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 18:47     Исправить ошибку в коде на наследование
Посмотрите здесь:

Наследование шаблонных классов: найти причины возникновения ошибки в коде и исправить эту ошибку - C++
подскажите почему появляется такая ошибка error C2248: 'Base&lt;int,float&gt;::value1' : cannot access protected member declared in class...

Найти причины возникновения ошибок в коде и исправить эти ошибки (наследование) - C++
Помогите понять в чем ошибки. header.h: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; #ifndef _HEADER_H_ ...

Исправить ошибку в коде. С++ - C++
Помогите исправить ошибку. Ошибка заключается в некорректной работе при вводе сообщения с пробелом. #include &quot;stdafx.h&quot; #include...

Исправить ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;math.h&gt; using namespace std; const int MaxIter=500; int matn () { double...

Исправить ошибку в коде - C++
//--------------------------------------------------------------------------- #pragma hdrstop #include &lt;iterator&gt; #include...

Исправить ошибку в коде. - C++
Реализовать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
you_rule
56 / 57 / 21
Регистрация: 08.03.2014
Сообщений: 138
21.05.2014, 18:50     Исправить ошибку в коде на наследование #2
newLen попробуйте сделать виртуальной
katkat95
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 11
21.05.2014, 19:38  [ТС]     Исправить ошибку в коде на наследование #3
Та же ошибка выдается
Вованя
126 / 126 / 47
Регистрация: 20.02.2014
Сообщений: 444
21.05.2014, 19:41     Исправить ошибку в коде на наследование #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Наследование сделайте public
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2014, 19:51     Исправить ошибку в коде на наследование
Еще ссылки по теме:

исправить ошибку в коде - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #define OUTPUT_FILE...

Исправить ошибку в коде - C++
где ошибка? #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main () { setlocale(LC_ALL,&quot;Russian&quot;); double...

Исправить ошибку в коде с++ - C++
Помогите исправить ошибку в коде: CString m_showlink; CRec1-&gt;GetFieldValue(&quot;Ïóòü&quot;,CValue); m_showlink = CValue.pbVal; ...

Исправить ошибку в коде - C++
Задача простейшая, но вот реализовать не получается правильно, вот условие : Написать программу вычисления стоимости покупки с учетом...

исправить ошибку в коде - C++
мне вот недавно скинули программу, только она не работает, ругается на &quot;выражение должно иметь тип класса&quot;. не могу понять и вообще саму...

Исправить ошибку в коде - C++
помогите найти ошибку . студия 2012 #include &lt;iostream&gt; #include &quot;queue.h&quot; using namespace std; int main() { Queue a,c;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
katkat95
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 11
21.05.2014, 19:51  [ТС]     Исправить ошибку в коде на наследование #5
Да, спасибо большое, так работает
Yandex
Объявления
21.05.2014, 19:51     Исправить ошибку в коде на наследование
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru