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)

{…..}


 

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

3749. Механизация земляных работ в строительстве 463 KB
  Земляные работы выполняются при строительстве любых зданий и сооружений. В состав земляных работ входят: вертикальная планировка площадок, разработка котлованов и траншей, обратная засыпка грунта, сооружение дамб, каналов, а в отдельн...
3750. Трудовая мобильность в организации на примере МУСПАТ по уборке г. Липецка 126 KB
  Введение Существуют социальные процессы, изменяющие место индивида или группы в пространстве или социальной структуре трудового коллектива. Это стихийные процессы текучести кадров и управляемые процессы трудовой мобильности, в первую очередь социаль...
3751. Тоталитаризм как форма политического режима 130 KB
  При рассмотрении политической системы какого-либо государства или общества не следует ограничиваться лишь официально провозглашенными и действующими в нем институтами и правовыми нормами, конституционными актами, т.е. тем, что "заявляет" о ...
3752. Территориальное общественное самоуправление как форма непосредственной демократии на примере ТОС в г. Биробиджан 256 KB
  Признав в 1993 году местное самоуправление в качестве одной из основ конституционного строя, установив его самостоятельность в обеспечении жизнедеятельности населения, Конституция России положила начало огромной и чрезвычайно сложной законо...
3753. Товароведению и экспертизе однородных групп продовольственных товаров 151.35 KB
  Корнеплоды: сравнительная характеристика состава и пищевой ценности, хозяйственно-ботанические сорта, их идентификация, показатели качества, допустимые и недопустимые дефекты, обоснование режима хранения, показатели безопасности. К корнеп...
3754. Стадії виконання науково-дослідних робіт та розробка конструкції і технології електровиробів 72 KB
  Стадії виконання науково-дослідних робіт та розробка конструкції і технології електровиробів Створення нової техніки і технології здійснюється в ході технічної підготовки виробництва, основними етапами якої є науково-дослідні роботи (НДР) дослідно...
3755. Расчет парового котла типа Е-75-40 ГМ 531 KB
  Расчет парового котла типа Е-75-40 ГМ В данной курсовой работе рассмотрен типовой расчет промышленного парогенератора на примере парового котла Е-75-40 ГМ. Вид топлива, сжигаемого при работе котла мазут сернистый. Основные параметры котла: Ном...
3756. Пассионарности и теория этнологии Л. Гумилева 120 KB
  Введение Начать свою работу я хочу с того, что дать определение этносу. По определению Л.Гумилева - это естественно сложившийся на основе оригинального стереотипа поведения коллектив людей, существующий как энергетическая система, противопоставляюща...
3757. Рычажный механизм электродвигателя 569.5 KB
  Введение Рычажные механизмы предназначены для преобразования вида движения, воспроизведение функциональных зависимостей, выполнения математических операций, вычерчивания кривых и др. Рычажные механизмы состоят из рычагов (стержней) и ползунов, соеди...