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)

{…..}


 

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

35676. Скринька для ключів. Творчий проект 2.29 MB
  Мотивація вибору форми виробу. Мотивація вибору форми виробу Людина щоб облаштувати своє житло здавна навчилася виготовляти різні речі з каменю дерева а пізніше – з металу. Через те коли виникла необхідність виготовити річ для зберігання ключів я й вибрав деревину як матеріал для свого майбутнього виробу. Чому Вважаю що майстер не завжди повинен дотримуватися якихось обмежених рамок у виготовленні того чи іншого виробу.
35678. Изучение аппаратного и программного обеспечения персонального компьютера 477.9 KB
  Запоминающее устройство - носитель информации, предназначенный для записи и хранения данных. В основе работы запоминающего устройства может лежать любой физический эффект, обеспечивающий приведение системы к двум или более устойчивым состояниям.
35680. Моя професійна кар’єра. Творчий проект 1.75 MB
  План роботи над проектом: Моє професійне самовизначення Додаток : Топ 20 найперспективніших Загальні відомості про дану професію: Завдання та обов’язки; Вимоги до робітника; Особистості якості робітника. І найголовніше: людина повинна отримувати задоволення від своєї роботи Серед усіх п’яти основних типів професій найбільше мені підходять людинатехніка до цього типу належать професії: водій машиністи потягів оператори верстатів з програмованим управлінням інженери слюсарі тощо. Умови роботи: Повна...
35682. Інформаційно-пошуковий проект «Олександр Матросов. 70 років подвигу» 36.14 KB
  Обґрунтування актуальності проекту Сучасна школа спрямована на забезпечення всебічного розвитку особистості шляхом навчання та виховання які ґрунтуються на загальнолюдських цінностях та принципах науковості інтегрованості єдності навчання і виховання на засадах гуманізму демократії громадянської свідомості взаємоповаги в інтересах людини родини суспільства держави. І саме тому я запропонувала своїм учням залучитися до реалізації цільового творчого проекту з громадянськопатріотичного виховання Олександр Матросов – 70 років подвигу ....
35683. Квіткова фантазія. Творчий проект на виготовлення композиції з бісеру 1.75 MB
  ОРГАНІЗАЦІЙНО-ПІДГОТОВЧИЙ ТЕХНІЧНЕ ЗАВДАННЯ Призначення виробу що проектується. Аналіз конкурентної спроможності виробу на ринку. Робочий ескіз виробу з описом. Моделювання виробу.
35684. Теплообменное оборудование второго контура реактора ВВЭР-1000 1.38 MB
  3 Принципиальная тепловая схема 3 Принципиальна тепловая второго контура схема установки К50060 1500 4 Принципиальная тепловая схема второго контура установки К100060 15001 4 Принципиальная тепловая схема второго контура установки К100060 15002 5 Принципиальная тепловая схема второго контура установки К100060 3000 5 Теплообменное оборудование второго контура реактора ВВЭР1000 6 Парогенератор 6 Паровая турбина 7 Система сепарации и промежуточного перегрева пара 8 Конденсационная установка паровой турбины 9 Деаэратор 10 Подогреватели...