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

Наследование классов, обратиться к замещающей функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран числа кратные 3 http://www.cyberforum.ru/cpp-beginners/thread1198731.html
Вывести на экран числа кратные 3. Числа вводим сами с экрана.
C++ Умножение всех элементов матрицы, равных 1, на заданное число (использовать while) Помогите с решением задачи Составить программу которая производит умножение всех элементов двумерного массива равных 1 на заданное число. При формировании массива использовать оператор while http://www.cyberforum.ru/cpp-beginners/thread1198704.html
Задача с бинарными файлами C++
Реализовать программу, работающую с бинарным файлом f1, который содержит массив строк различной длины. Строка должна быть описана структурой с полями: • Длина строки • Массив символов Прим. : Такой формат имеет тип String в Pascal. Интерфейс должен позволять: • Вносить новые записи • Просматривать содержимое файла • Рассмотреть файл как последовательность битов. Если сумма всех битов,...
Составить алгоритм шифровальщик, который заменяет каждый символ текста его ASCII-кодом C++
Составить алгоритм шифровальщик, который заменяет каждый символ текста его ASCII-кодом
C++ Шаблон класса деструктор вызывает ошибку http://www.cyberforum.ru/cpp-beginners/thread1198692.html
Не так чего после того как доходит до деструктора выдает такую ошибку #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <windows.h>
C++ Отредактировать текст таким образом, чтобы все знаки препинания располагались в начале, за ним следовали цифры Дано некоторый текст. Отредактировать его таким образом, чтобы все знаки препинания располагались в начале строки, за ним следовали цифра, а затем буквы. подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
04.06.2014, 15:18     Наследование классов, обратиться к замещающей функции
Цитата Сообщение от Дъячелли Посмотреть сообщение
а почему так разве он не должен что типа, вот раз три параметра, обращаться надо в Y:: print, почему он в Y идет через X какой смысл тогда в наследовании ? он что во все функции Y идет через X? почему на конструктор не жалуется?
добавьте в базовый класс пустую функцию (для неё есть вроде отдельное название, но не помню...мб я путаю, дома посм)
virtual void set(int x_1,int x_2, int s){};
связано это (по идее, если не прав пусть ГУРУ поправят) с динамическим связыванием функции во время компиляции, то, что функция virtual означает, что содержатся ещё аналогичные функции (т.е. функции с(int ,int) , а не (int int int) - из-за возможности перегрузки функций в С++ их имена кодируются, и видимо в этом и трабл), соответственно компилятор ищет в Y функцию именно с 2мя аргументами

Добавлено через 11 минут
или можно создать чистую виртуальную функцию, тогда класс X будет абстрактным, тогда тоже всё работает
virtual void set(int x_1,int x_2, int s) = 0;//чистая виртуальная функция
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru