Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор

21.03.2011, 18:06. Показов 34286. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
нужна ваша помощь!
нужно создать класс вектор и реализовать конструктор по умолчанию, копирования и деструктор!
кроме этого нужно создать конструктор который принимает кол элементов и указатель на данные
создать оператор перехода до типа который сохраняет класс!
вот мой код:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "stdafx.h"
#include "stdio.h"
#include <time.h> 
#include <stdlib.h>
 
class vector
{  
private:
    int* m;
    int size;
public :
    vector(int n = 0);
    vector(const vector &vector2);
    ~vector();
};
vector::vector( int n )
{   
    if (n < 0) n = 0;
    size = n;
    m = new int[n];
if(!m)
printf("Error");
else
m = NULL;
}
vector::vector(const vector &vector2)
{
    size = vector2.size;
        m = new int [size];
    for(int i = 0; i<size;i++)
        m[i] = vector2.m[i];
    printf("kopia stvorena !");
}
vector::~vector()
{
        delete[] m;
}
vector(int *m, int size)
{
      srand(time(NULL))
          if(!m)
              printf("error")
          else
          for(int i = 0; i < size; i++)
           m[i] = rand()% 99;
}
 
 
int main()
{  
    vector v1(45),
    
 system("pause");
    return 0;
}
что не так, пожалуйста с коментами
я только что начал изучать ООП!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2011, 18:06
Ответы с готовыми решениями:

Шаблонный класс (конструктор по умолчанию, основной конструктор и конструктор копирования; перегрузить операторные функции)
5.1. Разработать шаблонный класс Set. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования....

Создать любой класс. Реализовать конструктор, деструктор, продемонстрировать работу
помогите создать класс любой можно про автомобиль,мяч,прямоугольник и тд...,чтобы были конструктор,диструктор,продемонстрировать работу.. ...

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно»
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по умолчанию, конструктор с параметрами....

25
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
22.03.2011, 18:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от silent_1991 Посмотреть сообщение
что следовать им нет никакого желания.
а куда ты денешься? поворчишь, мол со мной грубо обошлись, и будешь следовать...
0
22.03.2011, 18:19

Не по теме:

slice, а я не говорю, что вы со мной грубо обошлись. Я говорю, что вы слишком высокого мнения о себе. И борзеете сверх приличия.

0
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
22.03.2011, 18:22  [ТС]
господа ПРОГРАММИСТЫ, давайте не будем оскорблять друг друга !
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
22.03.2011, 19:11
Цитата Сообщение от Deviaphan Посмотреть сообщение
Цитата Сообщение от bigredcat Посмотреть сообщение
Я не вижу конструктора по умолчанию, т.е. нельзя просто vector vec
А ведь он есть.)
Да, есть, как-то просмотрел
Цитата Сообщение от Deviaphan Посмотреть сообщение
Но будет ошибка времени выполнения. Ибо, int m = new int[0] - низя.
Не будет, по-тому что m = new int[0] можно
Цитата Сообщение от Deviaphan Посмотреть сообщение

Цитата Сообщение от bigredcat Посмотреть сообщение
По стандарту С++ в случае неудачи new генерирует std::bad_alloc
Это вообще весёлая тема, но я пруф не вспомню никак. Суть в том, что реальное выделение памяти происходит только при использовании, т.е. в большинстве случаев вообще невозможно узнать об ошибке выделения памяти, пока приложение не упадёт.
Александреску, кажется, или Саттер... не помню...
За все компиляторы я не говорил, о чем упомянул в сообщении, но попробуйте
C++
1
int* p; while (1) p = new int[1000000];
А вообще посмотрите в стандарте, там есть и об new int[0] и об std::bad_alloc
0
22.03.2011, 19:37

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
C++
1
Array(size_t);
Подобного рода конструкторы крайне желательно объявлять как explicit.

1
22.03.2011, 19:40

Не по теме:

rangerx, да, согласен, вечно у меня это из головы вылетает...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2011, 19:40

Использование классов (Описать конструктор по умолчанию, конструктор с параметром, деструктор...)
Помогите переделать программу, чтобы в ней использовались классы. Описать конструктор по умолчанию, конструктор с параметром,...

Конструктор инициализации, конструктор копирования, деструктор
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор инициализации, конструктор копирования, деструктор....

Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк, столбцов и состояние ошибки. Определить...

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс...

Создать класс MyString, конструктор, деструктор
1.Создать класс MyString. Класс должен содержать: - Конструктор - Деструктор - Статическое свойство содержащее максимально...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru