Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT | страница 9



>int Summa(int first, int second, int third=0, int fourth=0) {

> return(first + second + third + fourth);

>}

Функцию Summa можно использовать для сложения четырех, трех или двух чисел. Если складываются два числа, то третий и четвертый параметр можно опустить:

>void main() {

> int value1 = 10, value2 = 20, value3 = 30, value4 = 40;

> int result;


> // Вызываем функцию с четырьмя параметрами

> result = Summa(value1, value2, value3, value4);

> print(“Сумма четырех чисел равна %d”, result);

> // Вызываем функцию с тремя параметрами

> result = Summa(value1, value2, value3);

> print(“Сумма трех чисел равна %d”, result);

> // Вызываем функцию с двумя параметрами,

> // последний параметр задается по умолчанию

> result = Summa(value1, value2);

> print(“Сумма первых двух чисел равна %d”, result);

>}

Встраивание

В некоторых случаях более удобно и эффективно выполнять подстановку тела функции вместо ее вызова. Непосредственная подстановка тела функции позволит сэкономить время процессора на вызове функции. В языке Си этого можно достичь при помощи директивы препроцессора #define. Однако неправильное использование директивы может стать причиной ошибок.

Си++ предусматривает специальный механизм для встраивания функций. Чтобы указать компилятору, что данную функцию необходимо встраивать, перед ее объявлением или определением надо указать ключевое слово inline:

>inline unsigned int Invert(unsigned int number) {

> return (~number);

>}

Классы

В программах, написанных на языке С, данные и функции, предназначенные для их обработки определяются отдельно. Такое разделение затрудняет структурированное программирование и создает дополнительные возможности для ошибок, которые трудно обнаружить.

В С++ введено новое понятие – класс. Класс позволяет объединить данные и оперирующие ими функции в одной структуре. Такое объединение обычно называют инкапсуляцией данных и связанных с ними функций. Инкапсуляция позволяет скрыть конкретную реализацию класса, облегчая отладку и модификацию программ.

Объявление класса имеет следующий вид:

>class []

>{

>

>} [];

Когда вы определяете класс, то сначала указывается ключевое слово class, а затем в качестве аргумента имя самого класса. Это имя должно быть уникальным среди имен других классов, определенных в вашей программе.

Затем в фигурных скобках следует список элементов класса . В качестве элементов класса могут фигурировать данные (переменные), битовые поля, функции, вложенные классы, а также некоторые другие объекты. Вы можете включить качестве элемента класса указатель на другие объекты этого класса.