Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Название темы включает слова - "Помогите", "Спасите", "Срочно"
Название темы не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте >>>правила <<< и заново правильно создайте тему.
 
Опции темы
Старый 12.10.2018, 22:16   #1
Yavorsky
 
Регистрация: 08.05.2017
Сообщений: 4
Репутация: 10
По умолчанию Перегрузка операций добавления нового элемента в динамическом массиве

Здравствуйте, имеется класс представляющий собой понятие динамического массива. Нужно перегрузить операцию добавления нового элемента в динамическом массиве.
Предположим, у меня есть 2 объекта класса, первый - массив из 5 элементов, второй - массив из одного элемента (число). Я хочу добавить второй объект(число) в конец первого массива, как это можно реализовать?(использовать vector нельзя по заданию). заранее спасибо.

Вот мои наброски
Код:

// test 6 task.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"

#include <iostream>


using namespace std;

class Tarray
{
	double *mas;
	int max;
public:
	Tarray(int n)
	{
		max = n;
		mas = new double[max];
		for (int i = 0; i<max; i++)
		{
			mas[i] = rand() % 10;
		}
	}
	
	Tarray() {};
	Tarray(const Tarray&v1)
	{
		mas = new double[v1.max];
		max = v1.max;
		for (int i = 0; i<max; i++)
		{
			mas[i] = v1.mas[i];
		}
	};
	~Tarray() { delete[] mas; };


	
	
	Tarray operator+ (const Tarray& obj)
	{
		double *temp = NULL;
	
		temp = new double[max + 1]; // создаем новый массив
		for (int i = 0; i < max; i++)
		{
			temp[i] = obj.mas[i]; // копируем данные со старого массива
			
		}
		//temp[max + 1] = *obj.mas; // добавляет элемент в конец массива, 
		//delete[] obj.mas; // удаляем старый массив
		
		return *temp;
		
	}
	Tarray& operator = (const Tarray &obj)
	{

		max = obj.max;

		for (int i = 0; i<max; i++)
			mas[i] = obj.mas[i];

		return *this;
	}


	void Show()
	{
		for (int i = 0; i<max; i++)
		{
			cout << mas[i] << " ";
		}
		cout << endl;
	};


};

int main()
{
	setlocale(LC_ALL, "Russian");
	Tarray a(3), b(1), c ;
	
	cout << "Элементы массивов :" << endl;
	//B.Add();
	a.Show();
	b.Show();
	
	
	c = a + b;
	c.Show();
	
	
	return 0;
}

Yavorsky вне форума  
Старый 12.10.2018, 22:50   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,005
Репутация: 6348
По умолчанию

http://www.programmersforum.ru/showthread.php?t=323323
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операций добавления и удаления нового элемента в динамическом массиве Yavorsky Общие вопросы C/C++ 1 11.10.2018 22:52
Добавления нового пользователя в Interbase vbn1 БД в Delphi 10 28.05.2014 19:58
C++, в чем отличие операций добавления в программе deytas Помощь студентам 1 29.06.2013 16:40
Поиск максимального и минимального элемента в одномерном динамическом массиве GMeloman Общие вопросы C/C++ 7 11.06.2012 10:09
Замена максимального элемента минимальным и наоборот в динамическом двумерном массиве dreik92 Microsoft Office Excel 2 13.04.2011 12:04


16:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru