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

С++ Наследование - C++

Восстановить пароль Регистрация
 
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
28.04.2012, 00:06     С++ Наследование #1
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
#include <conio.h>
#include <iostream.h>
 
 class MyClass
  {
   int a;
   public:
    MyClass(int);
    show_a(int)
  }
 
MyClass::MyClass(int N)
  {
   a=N;
  }
 
MyClass::show_a()
 {
  cout<<a;
 }
 
 class child:public MyClass
  {   
  }
 
 MyClass obj1(int);
 child obj2(int);
 
void main()
{
 int a=100;
  MyClass obj1 = MyClass(a);
   obj1.show_a();
   obj2.show_a();  //Вот хочу увидеть унаследованный метод в действии и не выходит
 return;
}
Я передаю параметр в конструктор. Потом делаю производный класс. Вывод метода базового класса у меня срабатывает, а вот как вывести на экран метод унаследованного элемента в описанном коде понять не могу. Точнее говоря obj2.show_a() должен вывести на экран метод show_a() родителя

Подскажите как правильно делать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2012, 00:06     С++ Наследование
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
28.04.2012, 00:24     С++ Наследование #2
Цитата Сообщение от daslex Посмотреть сообщение
Подскажите как правильно делать
открыть книжку и прочесть как это делается, конструктор для производного класса кто будет создавать то???
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
#include <iostream>
 
using namespace std;
 
class MyClass
{
    int a;
public:
    MyClass(int n = 0);
    void show_a();
};
 
 
MyClass::MyClass(int n): a(n){}
 
 
 
void MyClass::show_a()
{
    cout<<a << '\n';
}
 
class child:public MyClass
{
public:
    child(int n = 0);
};
 
child::child(int n): MyClass(n){}
 
MyClass obj(5);
child obj2(10);
 
int main(int argc, char *argv[])
{
    obj.show_a();
    obj2.show_a();
    return 0;
}
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
28.04.2012, 01:26  [ТС]     С++ Наследование #3
Так как сначала в любом случае срабатывает конструктор базового класса и я не создаю никаких методов внутри производного, то почему обязательно создавать конструктор для производного класса надо?

непонятно

Добавлено через 56 минут
разобрался
Yandex
Объявления
28.04.2012, 01:26     С++ Наследование
Ответ Создать тему
Опции темы

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