Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Здравствуйте, имеется класс представляющий собой понятие динамического массива. Нужно перегрузить операцию добавления нового элемента в динамическом массиве.
Предположим, у меня есть 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, 21:50   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операций добавления и удаления нового элемента в динамическом массиве Yavorsky Общие вопросы C/C++ 1 11.10.2018 21: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