Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread25391.html
Как можно передать массив в функцию? у примеру через указатель.. а можно по другому? void Func(int* rMas); int _tmain(int argc, _TCHAR* argv) { int Mas={1,2,3}; Func(Mas);
C++ Как можно подсчитать количество слов в предложении? Маленький вопросик, как можно подсчитать количество слов в предложении. Я думал воспользоваться в качестве разделителя пробелом, но тогда, если предложение будет содержать одни пробелы, программа... http://www.cyberforum.ru/cpp-beginners/thread25370.html
Разложения числа на цифры C++
Например как получить из числа 152 числа 1,5,2 ?
C++ Неизменяемые поля
В задаче есть условие, что в классе есть неизменяемые поля, а инициализировать их нужно через конструктор. Например, #include <iostream> using namespace std; class name { public: name (const...
C++ Нужно составить программу решения задачи оптимального выбора методом случайного тпоиска(монте-карло) http://www.cyberforum.ru/cpp-beginners/thread25335.html
Задана таблица из 10 элементов. Вес 16 11 12 13 14 15 16 17 18 19 Цена 18 20 17 19 22 21 27 23 25 24 Нужно составить программу решения задачи оптимального выбора методом случайного...
C++ Примеры из книги выдают ошибки я чяйник, хочу выучить програмирование, в железе разбираюсь , хочу выучить с++, сейчас читаю книгу УОЛТЕР САВИЧ ПРОГРАММИРОВАНИЕ С++ 4 издание, в теории все понимаю в начале не так сложно как все... подробнее

Показать сообщение отдельно
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782

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

08.03.2009, 23:34. Просмотров 4946. Ответов 16
Метки (Все метки)

Например, есть класс cA и его наследник – класс cB. В определении класса cB написали функцию func, а в её сигнатуре объект родительского класса. При использовании это функции компилятор пропускает, если в качестве параметра стоит объект класса cB.

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
#include <iostream>
using namespace std;
class cA
{
private:
    int a;
};
 
class cB: public cA
{
public:
    void func (cA & o)
    {
        cout << "func\n";
    }
};
 
int main ()
{
    cA a;
    cB b;
    b.func (b);
    b.func (a);
}
Это нормально, что компилятор пропускает, когда в объявлении функции func стоит класс cA, а при использовании этой функции используется наследник этого класса - класс cB или это может привести к каким-нибудь ошибкам?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.