Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание объекта




Объявление класса

Основные понятия

Для пояснения диаграммы вспомним, что р-п-переход это емкость, которая как и всякая другая емкость имеет свойство заряжаться и разряжаться, на что требуется определенное время. Ток базы появляется с запаздыванием которое называется время запаздывания фронта – tз ф. Это время необходимо для заряда базовой емкости. Далее пока сигнал остается постоянным, ток базы так же постоянен. При смене полярности напряжения база-эмиттер, ток базы меняется на противоположный и начинается рассасывание избыточного заряда эмиттерной емкости поэтому какое-то время пропорциональное избытку заряда ток базы не изменяется, при смене входного напряжения все повторяется сначала. После появления тока базы начинает постепенно нарастать ток коллектора, постепенное нарастание связано с зарядом коллекторной емкости, это время называется временем фронта – tф. Ток нарастает до насыщения, далее пока рассасывается избыточный заряд на эмиттерной емкости ток коллектора не изменяется, как только начинает уменьшаться ток базы начинается рассасывание коллекторной емкости.

Исходя из ВАХ транзистора если транзистор находится в насыщении, напряжение коллектор-эмиттер стремится к нулю примерно 0.1В, когда транзистор находится в отсечке, напряжение коллектор-эмиттер стремится к значению напряжения питания.

Для ускорения процесса накопления и рассасывания заряда можно использовать следующие способы:

1. Применение форсирующего конденсатора, который ставится параллельно базовому резистору и его емкость много больше эмиттерной и коллекторной емкости. При этом так как его емкость больше, то пока он заряжается происходит заряд и перезаряд емкостей транзистора.

2. Между базой и коллектором ставится диод Шотки, известно что он имеет вырожденный р-п -переход и переходные процессы в нем протекают гораздо быстрее. В этом случае процессы перезаряда происходят через диод Шотки.

 

Вероятно, одним из наиболее важных понятий С++ является класс. Класс — это механизм для создания объектов.

Класс объявляется с помощью ключевого слова class. Синтаксис объявления класса похож на синтаксис объявления структуры. Здесь показана основная форма:

class имя__класса

{

private:

закрытые функции и переменные класса

public:

открытые функции и переменные класса

};

Функции и переменные, объявленные внутри объявления класса, называют членами (members) этого класса. По умолчанию все функции и переменные, объявленные в классе, становятся закрытыми для класса. Это означает, что они доступны только для других членов того же класса. Для объявления открытых членов класса используется ключевое слово public, за которым следует двоеточие. Все функции и переменные, объявленные после слова public, доступны как для других членов класса, так и для любой другой части программы, в которой находится этот класс.

Ниже приводится простое объявление класса:

class myclass

{

private:

int а;

public:

void set_a (int num);

int get_a ();

};

 

Этот класс имеет одну закрытую переменную а, и две открытые функции, set_a() и get_a(). Обратите внимание, что прототипы функций объявляются внутри класса. Функции, которые объявляются внутри класса, называются функциями-членами (member functions).

Поскольку а является закрытой переменной класса, она недоступна для любой функции вне myclass. Однако поскольку set__a() и get_a() являются членами myclass, они имеют доступ к а. Более того, set_a() и get_a(), являясь открытыми членами myclass, могут вызываться из любой части программы, использующей myclass.

Хотя функции set_a() и get_a() и объявлены в myclass, они еще не определены. Для определения функции-члена вы должны связать имя класса, частью которого является функция-член, с именем функции. Это достигается путем написания имени функции вслед за именем класса с двумя двое­точиями. Два двоеточия называются оператором расширения области видимости (scope resolution operator). Например, далее показан способ определения функций-членов set_a() и get__a():

void myclass::set_a(int num)

{

a=num;

}

 

int myclass::get_a()

{

return a;

}

Отметим, что и set_a() и get_a() имеют доступ к переменной а, которая для myclass является закрытой. Как уже говорилось, поскольку set_a() и get_a() являются членами myclass, они могут напрямую оперировать с его закрытыми данными.

При определении функции-члена пользуйтесь следующей основной формой:

Тип__возвращаемого_значения имя_класса::имя_функции(список__параметров)

{

...// тело функции

}

Здесь имя класса — это имя того класса, которому принадлежит определяемая функция.

Объявление класса myclass не задает ни одного объекта типа myclass, оно определяет только тип объекта, который будет создан при его фактическом объявлении. Чтобы создать объект, используйте имя класса, как спецификатор типа данных. Например, в этой строке объявляются два объекта типа myclass:

myclass ob1, ob2; // это объекты типа myclass

Объявление класса является логической абстракцией, которая задает новый тип объекта. Объявление же объекта создает физическую сущность объекта такого типа. То есть, объект занимает память, а задание типа нет.

После того как объект класса создан, можно обращаться к открытым членам класса, используя оператор точка (.), аналогично тому, как осуществляется доступ к членам структуры. Предположим, что ранее объекты были объявлены, тогда следующие инструкции вызывают set_a() для объектов оb1 и оb2:

ob1.set_a(10); // установка версии а объекта оb1 равной 10

ob2.set_a(99); // установка версии а объекта оb2 равной 99

Как видно из комментариев, эти инструкции устанавливают значение переменной а объекта оb1 равной 10 и значение переменной а объекта оb2 равной 99. Каждый объект содержит собственную копию всех данных, объявленных в классе. Это значит, что а в оb1 отлично от а в оb2.

Каждый объект класса имеет собственную копию всех переменных, объявленных внутри класса.

 

Пример.

В качестве первого простого примера, рассмотрим программу, в которой используется myclass, описанный в тексте, для задания значений а для оb1 и оb2 и вывода на экран этих значений для каждого объекта:

#include <iostream>

using namespace std;

class myclass

{

private:

int a;

public:

void set_a(int num);

int get_a();

};

void myclass::set_a(int num)

{

a=num;

}

int myclass::get_a()

{

return a;

}

int main()

{

myclass ob1, ob2;

ob1.set__a(10);

ob2.set_a(99);

cout << ob1.get_a() << "\n";

cout << ob2.get_a() << "\n";

return 0;

}

Как и следовало ожидать, программа выводит на экран величины 10 и 99.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 275; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.027 сек.