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)

{…..}


 

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

53913. Квест «Математика?! Да не только…» 118 KB
  Цель. Сплотить коллективы команд; поговорить о математике и в шутку, и всерьез; создать дух состязания; узнать интересные факты об истории школы. Все задания выдаются в запечатанных конвертах. Зеленый зал старт Кабинет математики.
53914. Финансовый леверидж и его оценка 27.5 KB
  Финансовый леверидж показывает зависимость между структурой источников средств и величиной чистой прибыли. Его действие проявляется в том, что любое изменение прибыли до вычета процентов и налогов порождает более существенное изменение чистой прибыли.
53915. Квіти. Урок трудового навчання 1 клас 950 KB
  Виховувати любов до рідної землі бережливе ставлення до природи навколишнього середовища формувати естетичні смаки. Дикий мак хотів підслухать Не розчув й почервонів. Як ви думаєте чому мак хотів підслухать розмову джмеля з ромашкою Мак був допитливим. Чому мак почервонів Йому стало соромно.
53916. Чарівна квітка України 76.5 KB
  Квітка Цісик. Судячи з імені вона напевно походила з Карпат чи Прикарпаття бо саме там жінкам нерідко дають такі поетичні імена Квітка Зірка Ружана. Вона – це американська співачка українського походження Квітка Цісик.
53917. Конспект розваг на основі матеріалів Конвенції про права дитини 45.5 KB
  Пашко Ведуча. Ведуча виносить велику квітку від якої будуть відривати пелюстки. Ведуча. Ведуча відриває пелюстку.
53918. Літературно-музична композиції “Душа-квітка”, присвячена життю і творчості К.Білокур 151.5 KB
  Білокур Мета: познайомити учнів із самобутнім майстром пензля його картинамизалучати до світу прекрасного засобами словамузики та мистецтва виховувати почуття гордості за своїх пращурів та прагнення наслідувати їх. Білокур Виходить молода К. На слайдах портрети видатних особистостей культури мистецтва різних епох та країн і разом з ними портрет К Білокур Ведучий. Катерина Білокур – Художник.
53919. «Квітка - Добра» Знай, люби, оберігай свій рідний край. Родинне свято 2 клас 57.5 KB
  Яке гарне у нас свято Добрий день Як гостей у нас багато Добрий день Я вітаю сонечко: Здрастуй золоте Я вітаю квіточку: Хай собі росте Я вітаю дощичок: Лий як із відра Друзів привітаю я зичу їм добра Я вітаю друзі вас Я вітаю цілий клас Сонце Небо Рідний край Грай музико грай Під мелодію пісні Дорогою добра з’являється Білосніжка Білосніжка: Добрий день діти Я Білосніжка...
53920. Ці неповторні квіти. Позакласний захід 469 KB
  Учень 1: Квіти – улюблені супутники людини з давніх часів. Хімчук Учень 2: Сонце засяє – і все ожива Все розквітає – на дворі весна Учень 3: Весна оживає природа. Звучить запис дзвіночка Учень 4: Ведуть доріжки до весняного лісу. Учень 5: Дзвонить радісно підсніжник: Я зпід снігу рвавсь щосили.
53921. МАТЕМАТИЧЕСКИЙ КВН 50.5 KB
  Капитан 1 команды: Наша команда: БАМ. Наша команда: Дважды 2 Наш девиз: Чтоб врачом моряком Или летчиком стать Надо твердо на 10 математику знать Приветствие: Победившим не хвалиться Проигравшим не реветь. Наша команда: Пупс. Наша команда: ХУ Наш девиз: Чтобы водить корабли.