ВУЗ:
Составители:
Рубрика:
void init_asq() /*-инициализация и присваивание; */
{ string s1(10),s2(s1),s3(30);
s3=s2
}/*-конец примера с правильной инициализацией и =; */
При перегрузке некоторых операций следует учитывать ряд осо-
бенностей,обусловленных спецификой этих операций.Особенность
рассмотренной операции присваивания состоит в том,что она не
может наследоваться производными типами и не может быть стати-
ческой операцией для рассматриваемого типа.Особенности опера-
ций вызова функции,индексации и доступа к члену класса смотри-
те в [2].
1.4.2.Полиморфизм функций.
Полиморфизм функций - это задание одного имени действию,ко-
торое варьируется для одного объекта или передается вверх и
вниз по иерархии объектов с реализацией этого действия спо-
собом,соответствующим каждому объекту в иерархии.Полиморфные
функции в языке С++,как и полиморфные операции,называются пе-
регруженными(overload).В описаниях или определениях таких
функций перед их именем, как правило, ставится спецификатор
overload.
Полиморфизм функций в языке С++ поддерживается следующими
механизмами:
а)функции,определяющие сходные по содержанию действия,мо-
гут иметь одинаковые имена,если различны их наборы парамет-
ров:каждая пара наборов параметров отличается друг от друга
либо числом параметров,либо типом хотя бы одного параметра
при одинаковом их числе;
б)для функций-членов составного типа также можно использо-
вать одно и то же имя,когда эти функции определяют сходные
по содержанию действия и имеют различие в наборах параметров;
в)функции,определенные в некотором составном типе,наследу-
ются вверх по иерархии производными типами и при необходи-
мости переопределяются в производных типах с теми же или
новыми наборами параметров,причем после переопределения на-
следуется уже функция с новым содержанием вверх по иерархии
31
void init_asq() /*-инициализация и присваивание; */ { string s1(10),s2(s1),s3(30); s3=s2 }/*-конец примера с правильной инициализацией и =; */ При перегрузке некоторых операций следует учитывать ряд осо- бенностей,обусловленных спецификой этих операций.Особенность рассмотренной операции присваивания состоит в том,что она не может наследоваться производными типами и не может быть стати- ческой операцией для рассматриваемого типа.Особенности опера- ций вызова функции,индексации и доступа к члену класса смотри- те в [2]. 1.4.2.Полиморфизм функций. Полиморфизм функций - это задание одного имени действию,ко- торое варьируется для одного объекта или передается вверх и вниз по иерархии объектов с реализацией этого действия спо- собом,соответствующим каждому объекту в иерархии.Полиморфные функции в языке С++,как и полиморфные операции,называются пе- регруженными(overload).В описаниях или определениях таких функций перед их именем, как правило, ставится спецификатор overload. Полиморфизм функций в языке С++ поддерживается следующими механизмами: а)функции,определяющие сходные по содержанию действия,мо- гут иметь одинаковые имена,если различны их наборы парамет- ров:каждая пара наборов параметров отличается друг от друга либо числом параметров,либо типом хотя бы одного параметра при одинаковом их числе; б)для функций-членов составного типа также можно использо- вать одно и то же имя,когда эти функции определяют сходные по содержанию действия и имеют различие в наборах параметров; в)функции,определенные в некотором составном типе,наследу- ются вверх по иерархии производными типами и при необходи- мости переопределяются в производных типах с теми же или новыми наборами параметров,причем после переопределения на- следуется уже функция с новым содержанием вверх по иерархии 31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »