Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Object.print();

Команда break может находиться в любом месте программы, однако обычно break ставиться в теле операторов while или do... while. | Стандартные потоки ввода-вывода для базовых типов. | Объявление функции называют иногда прототипом функции. | Указатели позволяют эффективно работать с массивами | Управление доступом. Определение, синтаксис объявления и пример использования. | Имя метода совпадает с именем класса. | Поля перечисляются через запятую. Для каждого поля в скобках указывается инициализирующее значение, которое может быть выражением. | Выделение памяти для полей класса; | Конструктор по умолчанию. Определение, свойства, синтаксис объявления и пример использования. | Свойства деструкторов |


cout<<”object.x после вызова дружественной функции: ”;

SetX(object,8);

Object.print();

}

Если все методы класса должны иметь доступ к скрытым полям другого класса, то весь класс объявляется дружественным с помощью ключевого слова friend.

Например, объявим класс A, дружественным к классу B:

Class B

{… friend class A;

}

Class A

{… void f1();

Void f2();

}

Класс A – друг класса В, но не наоборот. Функции f1,f2 являются дружественными к классу В и имеют доступ ко всем его полям.

#define lname 10

#include<iostream>

Using namespace std;

//Описание классов

Class Ttovar

{

private:

Static int count;

char name[lname];

Float price;

public:

Ttovar();

Ttovar(float);

~Ttovar();

void set_name(const char*);

char* get_name();

Void set_price(float);

Float get_price();

Void show();

};

Виртуальные функции и классы.

Чисто виртуальная функция – метод, удовлетворяющий следующим параметрам:

Для него не указана реализация в классе, в котором он объявлен.

Вместо реализации (тела функции) указано =0.

Метод переопределяется далее в иерархии наследования.

Вид прототипа в объявлении класса

virtual <обычный прототип функции> = 0;

В данном случае мы имеем дело с фиктивной функцией. По-существу, мы отложили реализацию метода на потом.

Пример:

class TBaseClass {

public:

virtual void Show() = 0;

};

class TDerivedClass: public TBaseClass {

private:

// некоторые данные

public:

void Show() {

// Некоторый содержательный код

}

};


Дата добавления: 2015-10-02; просмотров: 43 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Используются для получения непосредственного доступа извне к скрытым полям класса, то есть расширения интерфейса класса.| Перегрузка стандартных операций.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)