36225

Конструкторы и деструкторы. Функции в языке С++

Доклад

Информатика, кибернетика и программирование

Функции в языке С В С самостоятельные программные модули называются функциями. При описании функции должен быть указан тип возвращаемого значения он указывается перед именем функции. Но функции должны быть описаны до того когда они будут вызваны другими функциями. Вызов функции fx y передаётся адрес fxy передаются сами переменные Если return есть в теле функции то заканчивается выполнение функции а потом возврат.

Русский

2015-01-18

29 KB

1 чел.

  1.  Конструкторы и деструкторы.

Конструктор – это функция  (метод класса), имеющая явное назначение. Она создает (конструирует) значение объекта данного  класса. Имя конструктора в языке С++ предопределено – оно совпадает с именем самого класса. Если класс имеет конструктор, то все его объекты будут проинициализированы при их создании. Конструкторы вызываются при этом автоматически (не требуется их явный вызов).

Конструктор не имеет типа возвращаемого значения, может иметь параметры.

Деструктор – это специальная функция класса. Если надо произвести какие-то действия по окончании работы объекта (освободить память, восстановить состояние экрана, закрыть файлы…), то удобно использовать деструктор. Как и конструктор, деструктор имеет заранее определенное имя, В языке С++ это имя класса, но перед ним ставится «~»  (тильда).

В классе может быть только 1 деструктор.

Он не имеет типа возвращаемого значения и параметров. Он может вызываться явно и всегда вызывается неявно при выполнении delete.

  1.  ВОПРОС 4    Функции в языке С++

  В С++ самостоятельные программные модули называются функциями. Имя снабжено  круглыми скобками, даже если функция не имеет формальных и фактических параметров.

  При описании функции должен быть указан тип возвращаемого значения, он указывается перед именем функции. Если функция не возвращает значение (аналогично процедуре в Turbo Pascal), то требуется обозначение типа void.

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

Параметры могут передавать в виде самого параметра (параметра значений) или при виде адреса (параметра переменных).

Пример:                                  float fight (const float &)

  Если передаётся адрес, то передача происходит быстрее. Необходимо либо передавать сами переменные, либо использовать константы (причём второй способ предпочтителен).

Вызов функции           f(&x, &y)  // передаётся адрес

             f(x,y)         // передаются сами переменные

  Если return есть в теле функции, то заканчивается выполнение функции, а потом возврат.

 main()

{

 int x,y;

 cin>>x;

 y=absol(x)

 cout<<”абсолютная величина”<<x<<”=”<<y;

}

 absol(z)

 int z;      // определение типа  z до фигурных скобок

{

if (z>0) return(z);

 else return(-z);

}

В данном примере не указывается тип функции absol при его определении. По умолчанию тип функции – int.

Все функции равноправны, и любая может вызывать все остальные. Main вызывается первой при запуске программы, во всём остальном – это такая же функция и её можно вызвать другими функциями.

Если функция не возвращает значение, то она должна быть объявлена как void 

void main()

void xx()

 

Спецификатор inline, предполагает, что код функции будет вставлен в то место, где она вызывается. Это убыстряет ход программы, так как в противном случае необходимы некоторые параметры пересылать в стек и обратно. Однако это увеличивает размеры, поэтому прибегать к inline  следует, только если  функция мала.

 inline int f(void)

{…..}


 

А также другие работы, которые могут Вас заинтересовать

30475. Британский парламент, его взаимоотношения с Королевой и Правительством 16.23 KB
  Законодательная власть в Великобритании принадлежит парламенту но по точному смыслу британской конституции парламент триединое учреждение: оно включает главу государства монарха палату лордов исторически палату знати и высшего духовенства и палату общин исторически палату простолюдинов. Это понятие связано с тем что закон становится таковым если он принят двумя палатами есть некоторые исключения из этого правила в пользу нижней палаты и подписан монархом. Теоретически монарх в Великобритании считается...
30476. Реформа политико-территориального устройства Соединенного Королевства 14.64 KB
  Поэтому для других трех регионов в большей или меньшей степени всегда были свойственны стремление к усилению самоуправления или даже сепаратизм. право первичного законодательства в сферах здравоохранения образования местного самоуправления и политикоадминистративного деления жилищного и коммунального хозяйства окружающей среды и т. В каждой Местной единице действуют органы местного самоуправления: выборные непосредственно населением советы и исполнительные органы. Компетенция органов местного самоуправления традиционна однако...
30477. Особенности французского конституционного права 17.34 KB
  В конституции отсутствует обычная для современных актов глава о правах и свободах. и к преамбуле конституции 1946 г. Конституционный совет в своих решениях указывал на Декларацию и преамбулу конституции 1946 г. как на составные части действующей конституции и включил их в тот блок законов соответствие которому он проверяет.
30478. Форма правления и государственный режим во Франции 15.08 KB
  Принцип республики: Правление народа по воле народа и для народа ст. Указанный характер республики определяется: глава государства президент избирается помимо парламента а премьерминистр назначается президентом без согласия высшего представительного органа признаки президентской республики; в то же время правительство несет ответственность перед нижней палатой парламента парламентская форма правления. Элементами президентской республики во Франции являются непарламентский способ избрания президента наличие у него...
30479. Трехмерные и динамические метафоры в визуализации программного обеспечения параллельных и распределенных вычислений 42 KB
  Существенным недостатком современных систем отладки параллельных и распределенных вычислений является отсутствие отображения динамики программных процессов. Причем каких-либо вариантов представления последовательности кода
30480. GESTURE-BASED INTERFACE: TECHNOLOGY AND APPLICATION 35.5 KB
  Recently gesture-based interfaces are becoming more widely used. There are many advantages of gesture-based interfaces such as small learning time, wide availability (if they done properly), and, in some cases, the lack of manipulators, which is important for mobile devices
30481. ФИЗИОЛОГИЯ СПИННОГО МОЗГА И ГОЛОВНОГО МОЗГА. НЕРВНАЯ РЕГУЛЯЦИЯ ВЕГЕТАТИВНЫХ ФУНКЦИЙ 53.89 KB
  Объем функций, осуществляемых спинным мозгом, чрезвычайно велик. В нем находят центры всех двигательных рефлексов (за исключением мускулатуры головы), всех рефлексов мочеполовой системы и прямой кишки, рефлексов, обеспечивающих терморегуляцию, регулирующих метаболизм тканей
30482. Страхова послуга та особливості її реалізації 277 KB
  В умовах розвитку ринкових відносин, зростання конкуренції великого значення набувають питання забезпечення функціонування субєктів господарювання від наявних і потенційних загроз, створення дієвої системи захисту їх від впливу можливих негативних факторів.
30483. МОДЕЛИ ПЛАСТОВ И ПРОЦЕССОВ РАЗРАБОТКИ 1.99 MB
  Под моделью в широком научном смысле этого слова понимают реально или мысленно созданную структуру, воспроизводящую или отражающую изучаемый объект. Название модель происходит от латинского слова modulus, что означает «мера, образец»