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

Ошибка в классах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить суммы элементов столбцов, номера которых определяются номерами положительных элементов заданного вектора http://www.cyberforum.ru/cpp-beginners/thread583249.html
Выполнить над прямоугольной матрицей В размером m х n последовательность действий, указанную в задании. а) Сформировать из строк В с положительным первым элементом матрицу С размером k х n, где k < m - количество таких строк; б) в матрице С вычислить суммы элементов столбцов, номера которых определяются номерами положительных элементов заданного вектора. /*Формирование матрицы с из...
C++ Не могу разобраться с функцией fseek Вот код #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { int c; http://www.cyberforum.ru/cpp-beginners/thread583243.html
наследование, фунция main C++
вот условие задачи: общие требования: конструкторы и методы обязательно должны проверять параметры на допустимость, в противном случае выводить сообщение об ошибке задание: создать абстрактный класс Triangle(треугольник) для представления треугольника с виртуальными функциями вычисления площади и периметра. Поля должны включать 2 стороны и угол между ними. Определить классы наследники:...
Разделение файла "по чесному" C++
Здравствуйте. Вопрос такой: Имеется файл определенного размера который вести 80 байт. Так же имеются функции которым нужнопередовать какую часть файла им обрабатывать. Вопрос в том как чесно разделить файл между функциями(обрабатывать только по 10байт). Количество функций задается. Сколько частей обрабатывать тоже. Например: файл 80 байт. функций 3. если разделить между данными функциями...
C++ xor, not http://www.cyberforum.ru/cpp-beginners/thread583215.html
кто может помочь с операциями ^(xor) и -(not). если можно навести примеры с реальными числами что они делают, например 2^3 или что-то вроде. Или киньте ссылку на ресурс где данное можно Доступно прочесть.
C++ Struct в управляемых классах Всем привет, возник вопрос как использовать стуктуры в управляемых классах? Спасибо! подробнее

Показать сообщение отдельно
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 01:00  [ТС]     Ошибка в классах
Цитата Сообщение от DU Посмотреть сообщение
неплохо было бы еще сюда ошибки запостить с номерами строк. это если ошибки компиляции. если же у вас ошибка во время выполнения, то это из-за выхода за пределы массива. индексирование в массивах начинается с нуля, а не с еденици. поэтому запись p[3] - это обращение к четвертому элементу, а массив всего из трех.
Вы правы, не увидел этого)
хотя не в этом ошибка компиляции складывалась...

Цитата Сообщение от DU Посмотреть сообщение
error C2259: Matrix: невозможно создать экземпляр абстрактного класса
это из-за того, что не реализована одна из чисто виртуальных функций класса Matrix. проверте корректность сигнатур. возможно в производном классе просто забыли const к функциям добавить. ну или какую-то из функций просто не реализовали.
Вот сам class Matrix
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
#include "printers.h"
 
class Matrix : public Printers
{
public:
Matrix ();
Matrix (char*marka, char*quality, int speed);
Matrix (const Matrix & r);
~Matrix();
void Print () const;
protected:
char *marka;
int speed;
char*quality;
};
А вот cpp файл:
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
#include "printers.h"
#include "Matrix.h"
#include <iostream>
#include <string.h>
 
using namespace std;
Matrix :: Matrix () : quality ("low"), speed (40)
{
marka=new char [50];
strcpy (marka, "Epson");
}
Matrix :: Matrix (char*_marka, char*_quality, int _speed) : quality(_quality), speed(_speed)
{
marka = new char[strlen(_marka)+1];
strcpy (marka,_marka);
}
Matrix :: Matrix (const Matrix & r) : quality (r.quality), speed (r.speed)
{
marka = new char[strlen (r.marka) +1];
strcpy (marka, r.marka);
}
Matrix :: ~Matrix ()
{
delete[]marka;
}
void Matrix :: Print () const
{
cout << "Matrix printer" << endl;
cout << marka << endl;
cout << quality << endl;
cout << speed << endl;
}
Куда надо прописать виртуальную функцию?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru