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

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

Войти
Регистрация
Восстановить пароль
 
ru_LAN
11 / 11 / 0
Регистрация: 13.11.2011
Сообщений: 278
#1

шаблонный класс - C++

10.06.2013, 17:55. Просмотров 218. Ответов 0
Метки нет (Все метки)

Добрый день Ув, программисты.
Помогите с заданием, что то переклинуло и не знаю как дальше.
Заодно посмотрите все ли я так делаю.
задание: Создать шаблонный класс Круг(Krug). Сделать приватные переменные(x,y radius), остальные публичные.
Реализовать перегруженный конструктор в 2 вариантах 1)1 параметр(радиус, координаты =0;0) 2) 3 параметра-координаты и радиус)
Реализовать ф-ии:
1)Длина окружности(возвращ значения типа float) L=2PI*R
2) Площадь круга(возвращ значения типа float) s=Pi*R^2
3) Печати значения круга: X=Y+Radius=
Перегрузить оператор =, позволяющий присваивать значения типа Krug
Перегрузить оператор+, позволяющий создать новый круг, радиус которого складывается из радиусов складываемых кругов.
Используя циклы создать вектор из 5 объектов типа Krug, координатами X=0...20, Y=10...30 и радиусом 1...18
Вывести на экран значения.
Используя шаблоную ф-ию max_element найти самый большой круг и вывести его значения(X,Y,Radius) на экран.

Так...

Надо создать 3 файла Krug.cpp, Krug.h, Main.cpp.

Krug.h
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
#ifndef KRUG_H
#define KRUG_H
 
template <class K>
 
class circle 
{
private :
    K x;
    K y;
    K radius;
 
    public :
    circle( K, K, K);
    circle(K);
    float getLen();
    float getS();
    float vivod();
 
    circle* operator = (circle*);
    circle* operator + (circle*);
}
 
#endif // KRUG_H
Main.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
#include <iostream>
 
using namespace std;
 
 
template <class K>
circle::circle(x,y,radius)
{
    this->x=x;
    this->y=y;
    this->radius=radius;
}
circle::circle(radius)
{
    this->r=r;
    x=y=0;
}
 
 
float getLen()
{
    double PI=3.1415926;
    double R;
    return 2*PI*R;
 
}
float getS()
{
    return PI * r*r;
}
float vivod()
{
 
}
 
int main()
{
    cout << "Hello World!" << endl;
    return 0;
}
Krug.cpp

C++
1
2
3
4
5
#include <vector>
 
vector <float> myvector;
circle* c = new circle(rand()%20,10+rand()%20,4, 10);
myvector.push_back (c);
Я тут что то очень перемудрил, помогите доделать задание.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 17:55     шаблонный класс
Посмотрите здесь:

Переделать класс в шаблонный класс - C++
Как данный процесс проделать? Я попробовал так по синтаксису из учебника: #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Шаблонный класс array (C++ 11) - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; #include &lt;array&gt; using namespace std; int main(){ array &lt;long...

Абстрактный шаблонный класс - C++
Вообщем какое дело. У меня есть класс матрица, который сделан с использованием шаблонов и STL. В нем перегружены операторы ввода/вывода в...

Шаблонный класс Множества - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; //============================= ...

Указатель на шаблонный класс - C++
Есть ли возможность инициализировать указатель на класс с шаблоном, но не указав при этом тип, ну т.е. написать не так Value_Class...

Шаблонный класс shared_ptr - C++
Почему после того как я написал диструктор, программа начала в конце выдавать ошибку? И почему к функции operator*() можно обращаться из...

Шаблонный класс Список - C++
Доброго времени суток, подскажите пожалуйста как правильно использовать шаблон в данном случае. Нужно использовать произвольный тип данных...

Шаблонный класс: матрица - C++
Хочу запилить класс matrix - двумерный массив с помощью vector пишу: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace...

Шаблонный динамический класс DynArr - C++
Создать шаблонный динамический класс DynArr для работы с одномерными массивами. Осуществить перегрузки символов операций: «=« -...

Шаблонный класс одномерного массива - C++
Доброго времени суток всем. Мне по заданию в универ нужно разработать шаблонный класс для работы с одномерным массивом, и перегрузить...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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