Консультация № 190211
03.12.2016, 22:48
0.00 руб.
1 8 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Здравствуйте, помогите пожалуйста, возникают ошибки при компиляции проекта. Проект во влож.
Прикрепленные файлы:
eda1b1d5b0a89589bb408f91205c7cdccf150f18.rar

Обсуждение

давно
Советник
400484
472
05.12.2016, 10:37
общий
Добрый день, User194586.
Что вы хотели этим кодом написать?
Код:
Vector<Time>A(5);

Vector <Time>B(10,1);

С точке зрения вектора есть всего два конструктора:
Код:

//конструктор с параметрами: выделяет память под s элементов и заполняет их
//значением k
Vector(int s,T k);
//конструктор с параметрами
Vector(const Vector<T>&a);

и оба они ни как не связаны с вашем кодом...
Класс Vector так же не поддерживает операции "+", ">>", "<<", "=", "[]". Эти операции нужно переопределить.
Код:

cout<<B<<endl;
B=A;
cout<<B<<endl;
cout <<A[2]<<endl;
cout<<"size="<<A()<<endl;
B=A+t;
cout<<B<<endl;
давно
Посетитель
400153
18
05.12.2016, 13:39
общий
Адресаты:
Просто с этой методички брал код.
Прикрепленные файлы:
8684f8dcb6d5b4c4fade494f1c252e32.pdf
давно
Советник
400484
472
05.12.2016, 14:15
общий
с методички взял файл lab7_main().cpp и заменил содержание файла main.cpp:
Код:

#include "Vector.h"
#include <iostream>
using namespace std;
void main()
{
//инициализация, ввод и вывод значений вектора
Vector<int>A(5,0);
cin>>A;
cout<<A<<endl;
//инициализация и вывод значений вектора
Vector <int>B(10,1);
cout<<B<<endl;
//операция присваивания
B=A;
cout<<B<<endl;
//доступ по индексу
cout <<A[2]<<endl;
//получение длины вектора
cout<<"size="<<A()<<endl;
//операция сложения с константой
B=A+10;
cout<<B<<endl;
}

все собралось.
Смотрите разницу...
давно
Советник
400484
472
05.12.2016, 14:22
общий
Собрал из методичке вариант с Time:
Код:

#include <iostream>
#include <cstdlib>
#include "Vector.h"
#include "Time.h"
using namespace std;
int main(int argc, char *argv[])
{
Time t;
cin>>t;
cout<<t;
Vector<Time>A(5,t);
cin>>A;
cout<<A<<endl;
Vector <Time>B(10,t);
cout<<B<<endl;
B=A;
cout<<B<<endl;
cout <<A[2]<<endl;
cout<<"size="<<A()<<endl;
B=A+t;
cout<<B<<endl;
}

Все собралось и заработало.
Может это поможет...
давно
Посетитель
400153
18
05.12.2016, 14:32
общий
Адресаты:
А можете приложить проект, а то у меня что-то не компилируется...
давно
Советник
400484
472
05.12.2016, 15:06
общий
Адресаты:
вот - laba7.zip (1.77 Mб)
давно
Посетитель
7438
7205
06.12.2016, 11:45
общий
Адресаты:
Почему бы Вам не оформить ответ?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Советник
400484
472
06.12.2016, 12:52
общий
это ответ
Здравствуйте, User194586!
Вот работающий код.
Код:

#include <iostream>
#include <cstdlib>
#include "Vector.h"
#include "Time.h"
using namespace std;
int main(int argc, char *argv[])
{
//инициализация, ввод и вывод значений вектора
Vector<int>A(5,0);
cin>>A;
cout<<A<<endl;
//инициализация и вывод значений вектора
Vector <int>B(10,1);
cout<<B<<endl;
//операция присваивания
B=A;
cout<<B<<endl;
//доступ по индексу
cout <<A[2]<<endl;
//получение длины вектора
cout<<"size="<<A()<<endl;
//операция сложения с константой
B=A+10;
cout<<B<<endl;

Time t;
cin>>t;
cout<<t;
Vector<Time>AT(5,t);
cin>>AT;
cout<<AT<<endl;
Vector <Time>BT(10,t);
cout<<BT<<endl;
BT=AT;
cout<<BT<<endl;
cout <<AT[2]<<endl;
cout<<"size="<<AT()<<endl;
BT=AT+t;
cout<<BT<<endl;
}

Пожелание. Добавьте для ввода сообщения, что необходимо ввести.
5
Форма ответа