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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2011, 21:09   #1
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию Перегрузка +

Код:
class Vector
{
	int size;
	int mas;

public:
	Vector(int _size, int *_mas)
	~Vector();
	Vector& operator + (Vector&);
	Vector& operator - (Vector&);
	Vector& operator * (Vector&);

};

Vector::Vector(int _size, int *_mas)
{
	mas = new int[size];
	for(int i=0;i<size;i++)
		{
			mas[i] = _mas[i];
		}
}

Vector::~Vector()
{
	delete mas[];
}

Vector& Vector::operator + (Vector&)
{

}
Начинаю писать программу. Для меня сейчас не понятен пара моментов, прошу разобраться в слеующем:

Я перегружаю оператор +
Собираюсь складывать два вектора.
Не пойму как передать размеры каждого вектора и собственно как их задать в этом блоке?
Blad47 вне форума Ответить с цитированием
Старый 19.03.2011, 21:38   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
int asize=a.size();//размер первого вектора
int bsize=b.size();//размер второго вектора
я бы сделал так
Код:
for (unsigned int i=0;i<b.size();i++)
    a.push_back(b[i]);
return a;
ох, прочитал вашу тему
создайте функцию
Код:
 int size(){return size;};
в public
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 19.03.2011 в 21:41.
kaljan775 вне форума Ответить с цитированием
Старый 19.03.2011, 22:26   #3
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Не касается решения проблемы, но тем не менее...
Код:
int mas;
Здесь должен быть указатель. То есть
Код:
int* mas;
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 20.03.2011, 00:36   #4
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Спасибо, но подскажите именно по решению проблемы. Я листал учебник, но там нет похожих примеров. Я попробовал самостоятельно, но это скорее всего неверно.
Код:
Vector& Vector::operator + (Vector& Vec)
{
	Vector *C = new Vector[size];
	for(int i=0;i<size;i++)
	{	
		C[i] = mas[i] + Vec[i];
	}
	return *C;

}
Blad47 вне форума Ответить с цитированием
Старый 21.03.2011, 01:49   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

у вас конструктор неправильный, аргумент- _size, а юзаете size;
правильно писать delete[] mas;

в остальном вроде не критично
onewho вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка Паыел Общие вопросы C/C++ 1 07.12.2010 16:59
Перегрузка в C++ Паыел Общие вопросы C/C++ 0 07.12.2010 16:26
Перегрузка в С++ anna01 Общие вопросы C/C++ 2 23.11.2010 22:21
Перегрузка nevermind_111 Общие вопросы .NET 2 14.10.2009 12:40
перегрузка + softrix Общие вопросы C/C++ 2 21.06.2008 22:27