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

НАСЛЕДОВАНИЕ - C++

Восстановить пароль Регистрация
 
Romich41
 Аватар для Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
22.02.2010, 20:49     НАСЛЕДОВАНИЕ #1
Никак не могу толком разобраться с наследованием классов...мужусь-мужись и только...подскажите плиз как описать класс, который наследует предыдущие два класса, и дополняет их методами ввода/вывода информации на экран. Не знаю как объединить все в 3 классе=(((((
Вот моя замута=)

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
#include <stdio.h> 
#include <math.h>  
int main() 
{ 
 
class all_in_one: protected first,second { 
  void zadacha1() { 
    cout << “Введите X=;  
    float x; 
    cin >> x;              
    cout “Y=<< calc1(x) << endl;
  } 
 
  void zadacha3() { 
    
  } 
  void zadacha1(float x) { 
// описываем переменные для ввода данных 
int x,y; 
// выводим сообщение и считываем с клавиатуры начальные значения переменных 
printf("X="); scanf("%i",&x);
printf("Y="); scanf("%i",&y); 
// вычисляем 
if ((x<=-1 && y>=1) || (x>=2 && y>=1)) printf("True\n");
else printf("False\n");
// функция должна возвращать значение 
return 0; // 0 - ошибок нет 
 
  } 
  void zadacha2(float x,float y) { 
// описываем переменные для ввода данных 
float x,y,r; 
// выводим сообщение и считываем с клавиатуры начальные значения переменных 
printf("X="); scanf("%f",&x);
printf("Y="); scanf("%f",&y); 
printf("R="); scanf("%f",&r); 
// вычисляем 
if (((x>0 && y>0)&&(r*r>=x*x+y*y))||((x<0 && y<0)&&(abs(x)+abs(y)<r))) printf("True\n");
else printf("False\n");
// функция должна возвращать значение 
 
  } 
}
Вот третий класс!!! Такой должен быть..а как их все объединить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main() 
{ 
// описываем переменные для ввода данных 
float  y,x,r; 
// выводим сообщение и считываем с клавиатуры начальные значения переменных 
printf("X="); scanf("%f",&x); 
// вычисляем 
if (x>=-10 && x<=-6){y=-sqrt(4-(x+8)*(x+8))+2;printf("Y=%f",y);}
else if(x>=-6 && x<=-4){y=2;printf("Y=%f",y);}
else if (x>=0 && x<=2){y=-x/2;printf("Y=%f",y);}
else if (x>=4 && x<=0){y=(4+x)/2;printf("Y=%f",y);}
else if (x>=2 && x<=4){y=3-x;printf("Y=%f",y);}
// функция должна возвращать значение 
return 0; // 0 - ошибок нет 
}
ПОМОГИТЕ пожайлусто !! буду благодарен я же знаю вам это проще простого=)а мне полезно разобраться =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2010, 20:49     НАСЛЕДОВАНИЕ
Посмотрите здесь:

C++ Наследование
Наследование C++
C++ наследование
C++ Наследование?!
наследование C++
Наследование C++
Наследование C++
Наследование наследование ) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
22.02.2010, 21:23     НАСЛЕДОВАНИЕ #2
.....

Добавлено через 3 минуты
Если тебе в институте показали подобный пример, тогда я очень зол на твоего преподавателя.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
22.02.2010, 21:26     НАСЛЕДОВАНИЕ #3
Вот мелкий пример... Так что разбирайся..
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
#include <iostream>
 
class A{
public:
    void set_a(int _a) { a = _a; }
protected:
    int a;
};
 
class B{
public:
    void set_b(int _b) { b = _b; }
protected:
    int b;
};
 
class C: public A, public B{
public:
    void set_ab(int _a, int _b){
        a = _a;
        b = _b;
    }
 
    void out_ab(){
        std::cout << "a: " << a << '\n'
            << "b: " << b << '\n';
    }
};
int main()
{
 
    C c;
    c.set_ab(10,15);
    c.out_ab();
 
    c.set_a(12);
    c.out_ab();
 
    c.set_b(13);
    c.out_ab();
 
    return 0;
}
Yandex
Объявления
22.02.2010, 21:26     НАСЛЕДОВАНИЕ
Ответ Создать тему
Опции темы

Текущее время: 20:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru