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

Как обратится к обьекту класса, являющегося наследником абстрактного класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Линейный поиск в массиве структуры http://www.cyberforum.ru/cpp-beginners/thread1508038.html
Нужно с помощью линейного поиска искать в готовом массиве структуры значение вводимое с клавиатуры. Напишите шаблон , по которому это можно реализовать. Спасибо.
C++ Windows боксы (Окна, формы) Приветствую уважаемые пользователи cyberforum! Сразу не знаю как правильно называется это. Но как можно реализовать окна на Windows? http://www.cyberforum.ru/cpp-beginners/thread1508019.html
C++ Не могу осознать причину ошибки
Ну, в общем, читаю, такой, Страуструпа и прогаю малеху его примеры. Вот реализация одного из них: #include<iostream> char * strcpy1(char * dst, const char * src){ while (*dst++ = *src++) ;...
Строка string. Не присваивается новое значение C++
Есть строка: string str_in = "A"; Она используется в созданной мной функцией как один из аргументов: fuction(arg1,arg2,str_in,arg4); Внутри функции значение строки меняется: char sim;...
C++ Наследование методов http://www.cyberforum.ru/cpp-beginners/thread1507978.html
Может мне стоит книжку почитать или получше подумать над структурой, но вопрос вот: Есть у нас древо классов: base > s2 > s3 > s4 > ... И есть в base virtual void f(){ _act1_ } А в s2 virtual...
C++ Класс Singletone Здравствуйте! Продолжаю готовиться к экзамену по С++. На последнем уроке вкратце рассказали про класс Singleton, но я расслабился и слушал невнимательно, так как урок был последний. Одним... подробнее

Показать сообщение отдельно
smartpointer
68 / 62 / 24
Регистрация: 17.02.2014
Сообщений: 262
01.08.2015, 06:59
Цитата Сообщение от Avazart Посмотреть сообщение
мы наследуем поведения А или все же B?
Конструктор специально убрали. В объявлении C явно указано public B - а следовательно, переопределяя дефолтный конструктор мы можем явно вызвать только конструктор B. Класс C еще ничего не знает про A, точнее знает поскольку декларация уже произошла, но не знает что это дедушка для него, выясняется это только, когда конструктор B вызвал конструктор A,а C вызвал B. Все тоже самое происходит даже если мы не определяли конструктор, ибо подставится компилятором.В итоге класс C увидит у класса B все, что у него там унаследовано от отца.
Теперь развиваем магию над int v_ в C заносим (только первый вариант кода).
C++
1
2
3
4
5
6
void Print()
{
    std::cout<< &(A::v_) << std::endl;
    std::cout<< &(B::v_) << std::endl;
    std::cout<< &(C::v_) << std::endl;
}
Что видим - адреса одинаковые, следовательно никаких копий - это собственность A, и никакого роста памяти! Но кстати за using спасибо, первый раз вижу такой хак
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru