Составители:
Рубрика:
31
имя_класса :: имя_статического_метода ( список_фактических_параметров )
Рассмотрим пример с классом «клиент банка».
//Листинг 14. Использование статических компонент в класса
class client
{ …
static float percent;
public:
static void ChangePercent(float p)
{percent=p;
}
…
};
float client::percent=0.1;
main()
{ //client::percent=0.2; Такое обращение запрещено, т.к. percent- частный компонент
client::ChangePercent(0.1);
client c(“Иванов”,”N12345”,200);
c.ChangePercent=0.05;
}
3.6. Дружественные функции
Для разделения интерфейса класса и его внутренней реализации различным
компонентам класса присваивается разная область видимости с использованием
ключевых слов public, protected и private. Компоненты, объявленные в секции pri-
vate являются частными, то есть недоступными из окружения объекта, и работать с
такими компонентами могут только компонентные функции класса. Однако, зачас
-
тую возникает необходимость обращаться к частным компонентам объекта из
функций, не являющихся методами класса. Это, конечно, происходит не от жела-
ния программиста нарушить принцип инкапсуляции и обеспечить доступ извне к
внутренней реализации класса. Просто в некоторых случаях необходимо организо-
вать взаимодействие нескольких объектов разных классов, и функция, обеспечи-
вающая взаимодействие,
должна иметь доступ к частным компонентам одновре-
менно нескольких объектов. Объявить функцию методом одновременно несколь-
ких классов невозможно, поэтому в стандарте языка С++ предусмотрена возмож-
имя_класса :: имя_статического_метода ( список_фактических_параметров ) Рассмотрим пример с классом «клиент банка». //Листинг 14. Использование статических компонент в класса class client {… static float percent; public: static void ChangePercent(float p) {percent=p; } … }; float client::percent=0.1; main() { //client::percent=0.2; Такое обращение запрещено, т.к. percent- частный компонент client::ChangePercent(0.1); client c(“Иванов”,”N12345”,200); c.ChangePercent=0.05; } 3.6. Дружественные функции Для разделения интерфейса класса и его внутренней реализации различным компонентам класса присваивается разная область видимости с использованием ключевых слов public, protected и private. Компоненты, объявленные в секции pri- vate являются частными, то есть недоступными из окружения объекта, и работать с такими компонентами могут только компонентные функции класса. Однако, зачас- тую возникает необходимость обращаться к частным компонентам объекта из функций, не являющихся методами класса. Это, конечно, происходит не от жела- ния программиста нарушить принцип инкапсуляции и обеспечить доступ извне к внутренней реализации класса. Просто в некоторых случаях необходимо организо- вать взаимодействие нескольких объектов разных классов, и функция, обеспечи- вающая взаимодействие, должна иметь доступ к частным компонентам одновре- менно нескольких объектов. Объявить функцию методом одновременно несколь- ких классов невозможно, поэтому в стандарте языка С++ предусмотрена возмож- 31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »