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)

{…..}


 

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

10501. Фізичні і хімічні властивості етилену і ацетилену. Одержання етилену і ацетилену 81 KB
  Тема:Фізичні і хімічні властивості етилену і ацетилену. Одержання етилену і ацетилену. Навчальна мета: ознайомити учнів з фізичними і хімічними властивостями ненасичених вуглеводнів розкрити механізм реакції приєднання показати що реакції цього типу є характерними...
10502. Фізичні і хімічні явища. Хімічні реакції 74 KB
  Тема: Фізичні і хімічні явища. Хімічні реакції. Навчальна мета: сформувати поняття про фізичні та хімічні явища їх відмінності, розглянути зовнішні ефекти що супроводжують хімічні реакції визначити умови виникнення та перебігу хімічних реакцій, розкрити значення хім
10503. Кристалічні гратки. Атомні, молекулярні та йонні кристали 57 KB
  Тема: Кристалічні гратки. Атомні молекулярні та йонні кристали. Мета: визначити особливості будови твердих речовин та встановити залежність властивостей речовин від їхньої будови. Тип уроку: комбінований. Обладнання: періодична система хімічних елементів Д. І. Менде...
10504. Хімічний звязок та будова у неорганічних речовинах 100.5 KB
  Тема: Хімічний звязок та будова у неорганічних речовинах. Тип уроку: уроклекція. Навчальна мета: Узагальнити та систематизувати знання учнів про хімічний звязок, характеризувати взаємозвязки між складом будовою і властивостями речовин, виробити вм...
10505. Хімічні властивості металів 68 KB
  Тема: Хімічні властивості металів. Навчальна мета: вивчити загальні хімічні властивості металів взаємодію їх з киснем галогенами сіркою кислотами солями розглянути хімічну активність металів та відповідно їх відновні властивості повторити окисно відновні реакці...
10506. Хімічні властивості алкенів: повне і часткове окиснення, приєднання Н2, Gal, НGal, полімеризація. Правило Марковнікова. Механізм реакції приєднання за подвійним зв’язком 38.5 KB
  Тема: Хімічні властивості алкенів: повне і часткове окиснення приєднання Н2 Gal НGal полімеризація. Правило Марковнікова. Механізм реакції приєднання за подвійним звязком. Навчальна мета: ознайомити з хімічними властивостями алкенів; розкрити механізм реакції приєднан...
10507. Хімічні властивості основ. Реакція нейтралізації 57.5 KB
  Тема: Хімічні властивості основ. Реакція нейтралізації. Навчальна мета: вивчити хімічні властивості основ лугів і нерозчинних у воді основ порівняти їх поглибити знання про індикатори і їх застосування визначити суть реакції нейтралізації. Виховна мета: виховуват...
10508. Хімічні властивості спиртів 48.5 KB
  Тема:Хімічні властивості спиртів. Навчальна мета: розглянути хімічні властивості спиртів визначити вплив функціональної групи спиртів на їхні хімічні властивості поглибити знання про хімічні властивості органічних речовин, порівняти властивості одноатомних і бага
10509. Основы работы с базой данных. Продолжение изучения теоретических основ PHP и MySQL 2.12 MB
  Основы работы с базой данных. Продолжение изучения теоретических основ PHP и MySQL. Раздел Введение Цель: Что такое База Данных БД. Как устроены базы данных и как они хранятся на сервере. Пример использования баз данных на реальном сайте. Какую...