Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
#1

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов - C++

03.03.2013, 16:24. Просмотров 1859. Ответов 22
Метки нет (Все метки)

Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов. НО я не знаю, как они вообще создаются! Подскажите!

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
#include<iostream>
#include<math.h>
using namespace std;
 
class vector
{
    private:
          int x1,
              y1,
              x2,
              y2;
    public:
        vector()
        {
            x1 = x2 = y1 = y2 = 0;
        }
 
        vector(int _x1, int _x2, int _y1, int _y2)
        {
            x1 = _x1;
            x2 = _x2;
            y1 = _y1;
            y2 = _y2;
        }
 
        double length()
        {
            double Kor = ((x2-x1)+(x2-x1)+(y2-y1)+(y2-y1));
            return sqrt(Kor);
        }
 
        void show()
        {
            cout << "begin: x1 = " << x1 <<
                 "  y1 = " << y1 <<
                 "\nend:   x2 = " << x2 <<
                 "  y2 = " << y2 << "\n\n";
        }
          
};
  
 
int main()
{
    vector a(1,1,3,4);
    cout <<"Length: "<< a.length() << endl;
    a.show();
    system("PAUSE");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 16:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов (C++):

Рекурсия: функция умножения двух чисел, используя только операцию сложения - C++
Напишите функцию умножения двух чисел, используя только операцию сложения(через рекурсию)

Создать класс векторов, реализующий сложения и вычитания векторов - C++
Помогите найти ошибку, так как неправильно выводятся массивы, то скорее всего не получается сформировать массив. А задание:создать класс...

Создать класс Matrix и функции умножения и сложения матриц - C++
Создайте класс Matrix на базе вектора vector&lt;vector&lt;int&gt;&gt;. Определите операторную функцию ostream&amp; operator&lt;&lt;(ostream&amp;, const Matrix&amp;) для...

Создать класс матриц с целочисленными элементами и определить операции умножения и сложения - C++
Всем привет, помогите с задачей, заранее спасибо. Создать класс матриц с целочисленными элементами и определить операции умножения и...

Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! - C++
Как-то так, что ли: class x { public: void f_0 (){}; }; class y: public x { public: //Тут у меня пойдёт...

Функция сложения двух чисел - C++
здравствуйте все, сидящие на форуме в столь поздний час. Не могли бы вы мне чем нибудь помочь с заданием с института, а то я его совсем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.03.2013, 18:14 #16
Цитата Сообщение от Головастик Посмотреть сообщение
А можно еще один дополнительный вопрос?
Категорически да
1
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 18:20  [ТС] #17
Цитата Сообщение от Tulosba Посмотреть сообщение
Категорически да
мне вот надо, чтобы программа содержалась в двух файлах: в первом - описание классов, во втором - реализация (работа с объектами). Так звучит задание. Я так понимаю, необходимо, будет подключать файл в include. Но нельзя же просто так взять и разделить код, подскажите ньюансы эти всякие...
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.03.2013, 18:35 #18
Цитата Сообщение от Головастик Посмотреть сообщение
в первом - описание классов, во втором - реализация
Описание vector.hpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
 
class vector
{ 
    protected:
          int x1, y1, x2, y2;
    public:
        vector();
        vector(int _x1, int _y1, int _x2, int _y2);
        double length();
        void show();
};
 
class action : public vector
{
public:
    action(int x1, int y1, int x2, int y2);
    void multi( int mult );
    action operator + (const action& b) const;
};

Реализация vector.cpp
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
#include<iostream>
#include<math.h>
#include "vector.hpp"
 
vector::vector()
{
   x1 = x2 = y1 = y2 = 0;
}
 
vector::vector(int _x1, int _y1, int _x2, int _y2)
{
   x1 = _x1;
   x2 = _x2;
   y1 = _y1;
   y2 = _y2;
}
 
double vector::length()
{
   double Kor = ((x2-x1)+(x2-x1)+(y2-y1)+(y2-y1));
   return sqrt(Kor);
}
 
void vector::show()
{
   std::cout << "begin: x1 = " << x1 <<
                 "  y1 = " << y1 <<
                 "\nend:   x2 = " << x2 <<
                 "  y2 = " << y2 << "\n\n";
}
 
action::action(int x1, int y1, int x2, int y2) :
      vector( x1, y1, x2, y2 ) {}
 
void action::multi( int mult )
{
      x1 *= mult; 
      y1 *= mult; 
      x2 *= mult; 
      y2 *= mult; 
}
 
action action::operator + (const action& b) const
{ 
   return action(this->x1 + b.x1, this->y1 + b.y1, this->x2 + b.x2, this->y2 + b.y2);
}
1
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 18:49  [ТС] #19
Цитата Сообщение от Tulosba Посмотреть сообщение
Описание vector.hpp ..........
А в основной проге подключать файл vector.сpp ? хотя тогда при таком раскладе:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<math.h>
#include "vector.hpp"
using namespace std;
int main()
{
    action a(1,1,3,4);
    action b(1,1,1,2);
    action c=a+b;
    cout <<"Length a: "<< a.length() << endl;
    cout <<"Length b: "<< a.length() << endl;
    a.show();
    a.multi(2);
    a.show();
    system("PAUSE");
}
вылетают ошибки:
3 In file included C:\Users\User\....\vector.cpp from C:\Users\User\....main.cpp
22:3 C:\Users\......\vector.hpp [Warning] no newline at end of file

P.S. main - это файл с главной функцией int main () , которая пытается использовать функции класса action
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.03.2013, 18:53 #20
Цитата Сообщение от Головастик Посмотреть сообщение
вылетают ошибки:
Цитата Сообщение от Головастик Посмотреть сообщение
[Warning]
Ошибок не вижу, вижу предупреждение. Добавьте пустую строчку в vector.hpp
1
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 18:59  [ТС] #21
Цитата Сообщение от Tulosba Посмотреть сообщение
Ошибок не вижу, вижу предупреждение. Добавьте пустую строчку в vector.hpp
Просто огромное спасибо! Выжала с вас всё, что могла и хотела! Б-л-а-г-о-д-а-р-ю!!!
0
Tulosba
04.03.2013, 19:08
  #22

Не по теме:

Цитата Сообщение от Головастик Посмотреть сообщение
Выжала с вас всё, что могла и хотела!
Ох уж эти женщины

0
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 19:18  [ТС] #23
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:


Ох уж эти женщины

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 19:18
Привет! Вот еще темы с ответами:

функция сложения двух чисел - C++
Написать функцию сложения двух чисел, используя только прибавление единицы.

Функция умножения двух массивов - C++
Даны два массива символов a и b (состоят из цифр), репрезентирующие два целых положительных числа. Создать функцию, которая создаёт третий...

Класс с полем - динамический массив. Функция сложения массивов - C++
Я написал класс, который содержит динамический массив целых чисел. Создал два объекта типа класс. У меня не получается сделать перегрузку...

Функция: вернуть вектор, в котором есть все числа из исходного вектора v, кроме заданного x - C++
есть вот такая задача ф-цию filter, которая принимает вектор чисел v и аргумент x. Она возвращает вектор, в котором есть все числа из v,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.03.2013, 19:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru