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

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

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

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

03.03.2013, 16:24. Просмотров 1822. Ответов 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 16:24     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Посмотрите здесь:
C++ Рекурсия: функция умножения двух чисел, используя только операцию сложения
C++ Создать класс векторов, реализующий сложения и вычитания векторов
Создать класс Matrix и функции умножения и сложения матриц C++
C++ Создать класс матриц с целочисленными элементами и определить операции умножения и сложения
Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! C++
C++ Функция сложения двух чисел
функция сложения двух чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.03.2013, 18:14     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов #16
Цитата Сообщение от Головастик Посмотреть сообщение
А можно еще один дополнительный вопрос?
Категорически да
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 18:20  [ТС]     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов #17
Цитата Сообщение от Tulosba Посмотреть сообщение
Категорически да
мне вот надо, чтобы программа содержалась в двух файлах: в первом - описание классов, во втором - реализация (работа с объектами). Так звучит задание. Я так понимаю, необходимо, будет подключать файл в include. Но нельзя же просто так взять и разделить код, подскажите ньюансы эти всякие...
Tulosba
:)
Эксперт С++
4393 / 3236 / 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);
}
Головастик
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
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.03.2013, 18:53     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов #20
Цитата Сообщение от Головастик Посмотреть сообщение
вылетают ошибки:
Цитата Сообщение от Головастик Посмотреть сообщение
[Warning]
Ошибок не вижу, вижу предупреждение. Добавьте пустую строчку в vector.hpp
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 18:59  [ТС]     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов #21
Цитата Сообщение от Tulosba Посмотреть сообщение
Ошибок не вижу, вижу предупреждение. Добавьте пустую строчку в vector.hpp
Просто огромное спасибо! Выжала с вас всё, что могла и хотела! Б-л-а-г-о-д-а-р-ю!!!
Tulosba
04.03.2013, 19:08
  #22

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 19:18     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Еще ссылки по теме:
C++ Функция умножения двух массивов
C++ Класс с полем - динамический массив. Функция сложения массивов
C++ Функция: вернуть вектор, в котором есть все числа из исходного вектора v, кроме заданного x
Правильно реализована функция C++
Передача комплексных чисел в производный класс для реализации векторов C++

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

Или воспользуйтесь поиском по форуму:
Головастик
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 40
04.03.2013, 19:18  [ТС]     Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов #23
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:


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

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

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