Основные параметры напряжения и связь между ними. Классификация электронных вольтметров.
Основные параметры переменного напряжения является: мгновенного значения,пиковое (амплитудное), среднеквадратическое (действующее).
Мгновенное значение -значения напряжения в определенный момент времени. u(t)=Umsin(ωt+φ), где Um- пиковое значение(амплитудное); ω– угловая частота (ω=2πf=2π/T (f-частота, T - период)); φ – угол начальной фазы.
Пиковое значение Um (амплитудное) — наибольшее мгновенное значение напряжения за время измерения (или за период).
Среднеквадратическое (действующее) значение напряжения U=Um / √2.
Классификация электронных вольтметров:
по видам, т. е. назначению — постоянного тока, переменного тока, импульсного тока, фазочувствительные, универсальные;
по типу индикатора — стрелочные и цифровые (внутри других приборов у измерителей напряжения могут быть осциллографический индикатор, неоновый индикатор и т. п.);
по методу измерения — прямого сравнения и нулевые (компенсационные);
по измеряемому параметру напряжения — пиковые (амплитудные), средиеквадратического значения;
по частотному диапазону — низкочастотные, высокочастотные, широкодиапазонные;
Охарактеризуйте дружественные функции, назначение, примеры использования.
Возможны ситуации, когда для получения доступа к закрытым членам класса
необходима функция, не являющаяся членом этого класса. Для этого в С++
поддерживаются дружественные функции (friendfunction). Дружественная функция задается так же, как и обычная, не являющаяся членам класса. Однако, в объявлении класса, для которого функция будетдружественной, необходимо включить ее прототип, перед которым ставится слово friend.
ПримерОбычно ДФ бывает полезна тогда, когда у двух разных классов имеется нечто общее, что необходимо сравнить. В программе создаются классы car (легковой автомобиль) и truck (грузовик). Причем оба содержат в закрытой переменной скорость соответствующего транспортного средства.
#include <iostream>
using namespace std;
classtruck; //предварительное объявление класса
classcar
{
int passengers;
int speed;
public:
car(int p, int s) {passengers=p; speed=s;}
friend int sp_greater(car c, truck t);
};
class truck
{
int weight;
int speed;
public:
truck(int w, int s){weight=w; speed=s;}
friend int sp_greater(car c, truck t);
};
/* Описанная ниже функция возвращает положительное число, если легковая машина быстрее грузовика. Возвращает 0 при одинаковых скоростях. Возвращает отрицательное число, если грузовик быстрее легковой машины.*/
int sp_greater(car c, truck t)
{
return c.speed -t.speed ;
}
void main()
{ int t;
car c1(6, 55), c2 (2, 120);
truck t1(10000, 55), t2(20000, 72);
cout<<"Sravnenie znacheniy speed obectov c1 i t1:\n";
t=sp_greater(c1, t1);
if (t<0) cout<<"Gruzovik bustree.\n";
else if(t==0) cout<<"Skorosti mashin odinakovu.\n";
else cout<<"Leglovaya mashina bustree";
cout<<"Sravnenie znacheniy speed obectov c2 i t2:\n";
t=sp_greater(c2, t2);
if (t<0) cout<<"Gruzovik bustree.\n";
else if(t==0) cout<<"Skorosti mashin odinakovu.\n";
else cout<<"Leglovaya mashina bustree.";
}
Результат:
Sravnenie znacheniy speed obectov c1 i t1:
Skorosti mashin odinakovu.
Sravnenie znacheniy speed obectov c2 i t2:
Leglovaya mashina bustree.
Эта программа иллюстрирует важный элемент синтаксиса С++ - предварительное объявление (forwarddeclaration), которое еще называют ссылкой вперед. Поскольку функция sp_greater получает параметры обоих классов car и truck, то логически невозможно объявить и тот и другой класс перед включение функции в каждый из них. Поэтому необходим иной способ сообщить компилятору имя класса без фактического его объявления. Этот способ и называется предварительным объявлением
Дата добавления: 2018-04-15; просмотров: 301; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
