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

Абстрактный класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию, которая вычисляет сумму элементов http://www.cyberforum.ru/cpp-beginners/thread185953.html
Написать функцию, которая вычисляет сумму элементов, удовлетворяющих условию A<x<B. Числа А, В вводить с клавиатуры.
C++ считывание графических изображении. Как считывать файлы формата bmp, а потом его структуру выводить в виде матрицы ??? Есть варианты ? Please http://www.cyberforum.ru/cpp-beginners/thread185951.html
Переоформить матрицу так, чтобы ее строки располагались по неубыванию их поэлементных сумм C++
Здравствуйте, помогите с программой в Microsoft Visual C++ 6.0 Дана матрица из N строк и М столбцов (1<N<=100, 1<M<=50). Выполнить заданную операцию над матрицей: Переоформить матрицу таким образом, чтобы ее строки располагались по неубыванию их поэлементных сумм. #include <iostream> #include <conio.h> void main(void) {
C++ Перевод числа и вывод 1
Добрый вечер! Задача, наверное, покажется тривиальной но всё же... Надо ввести число, перевести его в двоичный вид и вывести на экран число единиц. Часть кода есть (запрос числа, функция перевода числа в бинарный вид) , а с остальным проблемка... void DECBIN (int N, int A, int &j) { int i=0; while (N>0) { if (N%2 == 0) A = 0;
C++ Переоформить матрицу http://www.cyberforum.ru/cpp-beginners/thread185942.html
Здравствуйте, помогите с программой в Microsoft Visual C++ 6.0 Дана матрица из N строк и М столбцов (1<N<=100, 1<M<=50). Выполнить заданную операцию над матрицей: Переоформить матрицу таким образом, чтобы ее строки располагались по неубыванию их поэлементных сумм. #include <iostream> #include <conio.h> void main(void) {
C++ Не работает программа, ошибок компиляции нет. Есть вот такая программа: поменять местами строки в матрице с мин и макс значениями. Писал в вижуал С++. #include <stdio.h> #include <iostream> #include <ctime> using std::cout; using std::cin; using std::endl; int minimum, maximum,num_max,num_min, m, i, j; int minb, maxb; подробнее

Показать сообщение отдельно
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
05.11.2010, 00:01     Абстрактный класс
zhenya.ya, должно быть всё правильно. Вот пример:
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
#include <iostream>
 
struct A {
    virtual ~A () {}
    
    virtual void show () const { std::cout << "A::show()" << std::endl; }
};
 
struct B : A {
    void show () const { std::cout << "B::show()" << std::endl; }
};
 
struct C : A {
    void show () const { std::cout << "C::show()" << std::endl; }
};
 
int main (int argc, char * const argv[]) {
    A * a;
    
    B b;
    C c;
    
    a = &b;
    a->show(); // Вывод — "B::show()"
    
    a = &c;
    a->show(); // Вывод — "C::show()"
    
    return 0;
}
А деструкторы действительно неверны. Во-первых, в базовом классе он должен быть таким:
C++
1
virtual ~base () {}
Во-вторых, в производных классах ты сначала удаляешь массив, а потом начинаешь удалять его содержимое. Здесь будет ошибка доступа к памяти. Нужно сделать всё наоборот.
 
Текущее время: 17:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru