- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
class radian
{protected:
double x;
public:
radian();//конструктор без параметров, возвращает дежурное значение
radian(double x1);//конструктор с параметрами
radian sum_rad(radian a );
radian unsum_rad(radian a);//разность 2-х радиан
double get_r(){return x;}//нужный геттр
void set_r(double x1);//бесполезный сеттрер
double radian::quarter(radian a);//определение четверти угла заданного в радианах
double operator *();//перегрузка операции. возводит во вторую степень
double radian::rad_to_grad();//перевод из радиан в градусы
~radian();//деструкторуу
};
class namerad:public radian
{
private:
string name;
public:
namerad::namerad(double corner,string name)
{set_name(name);}
void namerad::set_name(string newname)
{name=newname;}
void namerad::get_name(string currentname)
{currentname=name;}
};
radian::radian()//конструктор по умолчанию
{
x=0;
}
radian::radian(double x1)//конструктор с 1 параметром
{
x=x1;
}
radian radian::sum_rad(radian a)//сумма 2-х радиан
{radian n(x+a.x);
return n;
}
void radian::set_r( double x1)//сеттер
{ x=x1;}
radian::~radian() {x=0;}//деструктор
radian radian::unsum_rad(radian a)//разность 2-х радиан
{radian n(x-a.x);
return n;
}
double radian::rad_to_grad() //перевод из радиан в градусы
{
return(x*(180/3.14));
}
double radian ::operator *()//перегрузка операции
{
return x*x;
}
double radian::quarter(radian a)//определение четверти угла заданного в радианах
{while(a.x>6.28){a.x-=6.28;}
if ((a.x >=0)&&(a.x<=1.57)) return 1;
if ((a.x>=1.57)&&(a.x<=3.14)) return 2;
if ((a.x>=3.14)&&(a.x<=4.71)) return 3;
return 4;
}
int main()
{
radian a,b,c(5.0),d(6.20);
cout<<"summa=";b=c.sum_rad(d);cout<<b.get_r() << endl;//сумма
cout<<"raznost=";b=d.unsum_rad(c);cout<<b.get_r() << endl; //разность
cout<<"chetvert: ";cout<< d.quarter(d) << endl;//четверть
cout<<"iz radian v gradusi: ";cout<<d.rad_to_grad() << endl;//перевод из радиан в градусы
cout<<"peregruz sqr "<<*c;//возведение в квадрат. перегруженная операция
system ("PAUSE");
return 0;
}