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)

{…..}


 

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

15815. МЕТОДЫ АНАЛИЗА УСТОЙЧИВОСТИ ОПТИЧЕСКИХ ИНТЕРФЕРЕНЦИОННЫХ ПОКРЫТИЙ 3.56 MB
  МЕТОДЫ АНАЛИЗА УСТОЙЧИВОСТИ ОПТИЧЕСКИХ ИНТЕРФЕРЕНЦИОННЫХ ПОКРЫТИЙ При решении задач проектирования и изготовления тонкопленочных оптических интерференционных покрытий особое внимание уделяется исследованию воспроизводимости их спектральных характеристик [17]. ...
15816. Microsoft Sql Server 2005. Представления 117 KB
  Microsoft Sql Server 2005. Представления Представления Представления это именованные запросы на выборку данных инструкции SELECT на языке TSQL хранящиеся в базе данных. В запросах представления можно использовать так же как и таблицы независимо от сложности их инструкций SELECT.
15817. Microsoft SQL Server 2005. Хранимые процедуры 87 KB
  Microsoft SQL Server 2005. Хранимые процедуры Хранимые процедуры Хранимая процедура это наиболее часто используемая в базах данных программная структура представляющая собой оформленный особым образом сценарий вернее пакет который хранится в базе данных а не в отдельном ...
15818. SQL Server 2005. Программирование на T-SQL 78.5 KB
  SQL Server 2005. Программирование на TSQL Программирование на TSQL Синтаксис и соглашения TSQL. Правила формирования идентификаторов Все объекты в SQL Server имеют имена идентификаторы. Примерами объектов являются таблицы представления хранимые процедуры и т.д. Идентификато
15819. Начало работы с Microsoft SQL Server 2005 187 KB
  Начало работы с Microsoft SQL Server 2005 Утилита SQL Server Management Studio Подавляющую массу задач администрирования SQL Server можно выполнить в графической утилите SQL Server Management Studio. В ней можно создавать базы данных и все ассоциированные с ними объекты таблицы представления ...
15820. Основы Transact SQL: Добавление, изменение и удаление данных 63 KB
  Основы Transact SQL: Добавление изменение и удаление данных. Основы Transact SQL: Добавление изменение и удаление данных в таблицах Запросы рассмотренные ранее были направлены на то чтобы получить данные содержащиеся в существующих таблицах базы данных. Главным ключевым сло...
15821. Основы Transact SQL: Простые выборки данных 241.5 KB
  Основы Transact SQL: Простые выборки данных SQL это аббревиатура выражения Structured Query Language язык структурированных запросов. SQL основывается на реляционной алгебре и специально разработан для взаимодействия с реляционными базами данных. SQL является прежде всего инфор...
15822. Основы Transact SQL: Простые выборки данных 199.5 KB
  Основы Transact SQL: Простые выборки данных Создание вычисляемых полей Конструкция SELECT кроме имен столбцов таблиц может также включать так называемые вычисляемые поля. В отличие от всех выбранных нами ранее столбцов вычисляемых полей на самом деле в таблицах базы дан...
15823. Основы Transact SQL: Сложные (многотабличные запросы) 173.5 KB
  Основы Transact SQL: Сложные многотабличные запросы Основы Transact SQL: Сложные многотабличные запросы В SQL сложные запросы являются комбинацией простых SQLзапросов. Каждый простой запрос в качестве ответа возвращает набор записей таблицу а комбинация простых запросов...