Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::open($save_path, $session_name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 199
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 214
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::read($id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 228
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::write($id, $dataStr) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 256
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::destroy($id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 362
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 383
Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 126
Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 127
Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 133
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Warning: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent in /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php on line 140
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 70
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 80
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 75
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of Wikimedia\Rdbms\ResultWrapper::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php on line 117
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of Wikimedia\Rdbms\ResultWrapper::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php on line 90
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 624
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 629
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 639
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 634
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 649
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 644
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 659
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of & MediaWiki\Session\Session::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 672
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 681
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Return type of MediaWiki\Session\Session::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/cppe.ru/www/includes/session/Session.php on line 685
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Message implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /var/www/cppe.ru/www/includes/Message.php on line 159
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: RawMessage implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /var/www/cppe.ru/www/includes/RawMessage.php on line 34
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property RequestContext::$recursion is deprecated in /var/www/cppe.ru/www/includes/context/RequestContext.php on line 354
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property Parser::$mPreprocessorClass is deprecated in /var/www/cppe.ru/www/includes/parser/Parser.php on line 280
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/Feed.php on line 232
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/Feed.php on line 237
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/WebResponse.php on line 46
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/WebResponse.php on line 46
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/WebResponse.php on line 46
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cppe.ru/www/includes/session/PHPSessionHandler.php:34) in /var/www/cppe.ru/www/includes/WebResponse.php on line 46 Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
http://cppe.ru/index.php?action=history&feed=atom&title=C%2B%2B%2FClass%2Fvirtual_functionC++/Class/virtual function - История изменений2026-11-08T04:23:28ZИстория изменений этой страницы в викиMediaWiki 1.30.0 Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property WikitextContent::$mText is deprecated in /var/www/cppe.ru/www/includes/content/TextContent.php on line 56
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property WikitextContent::$mText is deprecated in /var/www/cppe.ru/www/includes/content/TextContent.php on line 56
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property PoolCounterWorkViaCallback::$poolCounter is deprecated in /var/www/cppe.ru/www/includes/poolcounter/PoolCounterWork.php on line 39
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property BlockLevelPass::$lineStart is deprecated in /var/www/cppe.ru/www/includes/parser/BlockLevelPass.php on line 60
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48 Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
http://cppe.ru/index.php?title=C%2B%2B/Class/virtual_function&diff=1332&oldid=prev в 14:21, 25 мая 20102010-05-25T14:21:06Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr style="vertical-align: top;" lang="ru">
<td colspan="1" style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan="1" style="background-color: white; color:black; text-align: center;">Версия 14:21, 25 мая 2010</td>
</tr><tr><td colspan="2" style="text-align: center;" lang="ru"><div class="mw-diff-empty">(нет различий)</div>
</td></tr></table> Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Creation of dynamic property WikitextContent::$mText is deprecated in /var/www/cppe.ru/www/includes/content/TextContent.php on line 56
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48 Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
http://cppe.ru/index.php?title=C%2B%2B/Class/virtual_function&diff=1333&oldid=prevAdmin: 1 версия: Импорт контента...2010-05-25T10:25:36Z<p>1 версия: Импорт контента...</p>
<p><b>Новая страница</b></p><div>==A base class reference is used to access a virtual function==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
virtual void vfunc() {<br />
cout << "This is base"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived1 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived1"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived2 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived2"s vfunc().\n";<br />
}<br />
};<br />
<br />
// Use a base class reference parameter.<br />
void f(base &r) {<br />
r.vfunc();<br />
}<br />
<br />
int main()<br />
{<br />
base b;<br />
derived1 d1;<br />
derived2 d2;<br />
<br />
f(b); // pass a base object to f()<br />
f(d1); // pass a derived1 object to f()<br />
f(d2); // pass a derived2 object to f()<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Abstract classes by virtual function with no body==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Animal{<br />
public:<br />
Animal(int health = 100);<br />
virtual void Greet() const = 0; //pure virtual member function<br />
virtual void DisplayHealth() const;<br />
protected:<br />
int m_Health;<br />
};<br />
Animal::Animal(int health): m_Health(health){}<br />
void Animal::DisplayHealth() const{<br />
cout << "Health: " << m_Health << endl;<br />
}<br />
class Orc : public Animal{<br />
public:<br />
Orc(int health = 120);<br />
virtual void Greet() const;<br />
};<br />
Orc::Orc(int health):<br />
Animal(health)<br />
{}<br />
void Orc::Greet() const<br />
{<br />
cout << "The orc grunts hello.\n";<br />
}<br />
int main()<br />
{<br />
Animal* pAnimal = new Orc();<br />
pAnimal->Greet();<br />
pAnimal->DisplayHealth();<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Call parent virtual function==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
#include <string><br />
using namespace std;<br />
class Book<br />
{<br />
public:<br />
virtual string getDescription() { return "Book"; }<br />
};<br />
class Paperback : public Book<br />
{<br />
public:<br />
virtual string getDescription() { <br />
return "Paperback " + Book::getDescription(); <br />
}<br />
};<br />
class Romance : public Paperback<br />
{<br />
public:<br />
virtual string getDescription() { <br />
return "Romance " + Paperback::getDescription(); <br />
}<br />
};<br />
class Technical : public Book<br />
{<br />
public:<br />
virtual string getDescription() { <br />
return "Technical " + Book::getDescription();<br />
}<br />
};<br />
int main()<br />
{<br />
Romance novel;<br />
Book book;<br />
cout << novel.getDescription() << endl;<br />
cout << book.getDescription(); <br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Illustration of the Use of Virtual Inheritance==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
typedef int HANDS;<br />
enum COLOR { Red, Green, Blue, Yellow, White, Black, Brown } ;<br />
class Animal <br />
{<br />
public:<br />
Animal(int);<br />
virtual ~Animal() { cout << "Animal destructor...\n"; }<br />
virtual int GetAge() const { return itsAge; }<br />
virtual void SetAge(int age) { itsAge = age; }<br />
private:<br />
int itsAge;<br />
};<br />
Animal::Animal(int age):<br />
itsAge(age)<br />
{<br />
cout << "Animal constructor...\n";<br />
}<br />
class Horse : virtual public Animal<br />
{<br />
public:<br />
Horse(COLOR color, HANDS height, int age);<br />
virtual ~Horse() { cout << "Horse destructor...\n"; }<br />
virtual void Whinny()const { cout << "Whinny!... "; }<br />
virtual HANDS GetHeight() const { return itsHeight; }<br />
virtual COLOR GetColor() const { return itsColor; }<br />
protected:<br />
HANDS itsHeight;<br />
COLOR itsColor;<br />
};<br />
Horse::Horse(COLOR color, HANDS height, int age):<br />
Animal(age),<br />
itsColor(color),itsHeight(height)<br />
{<br />
cout << "Horse constructor...\n";<br />
}<br />
class Bird : virtual public Animal<br />
{<br />
public:<br />
Bird(COLOR color, bool migrates, int age);<br />
virtual ~Bird() {cout << "Bird destructor...\n"; }<br />
virtual void Chirp()const { cout << "Chirp... "; }<br />
virtual void Fly()const{ cout << "I can fly! I can fly! I can fly! "; }<br />
virtual COLOR GetColor()const { return itsColor; }<br />
virtual bool GetMigration() const { return itsMigration; }<br />
protected:<br />
COLOR itsColor;<br />
bool itsMigration;<br />
};<br />
Bird::Bird(COLOR color, bool migrates, int age):<br />
Animal(age),<br />
itsColor(color), itsMigration(migrates)<br />
{<br />
cout << "Bird constructor...\n";<br />
}<br />
class Pegasus : public Horse, public Bird<br />
{<br />
public:<br />
void Chirp()const { Whinny(); }<br />
Pegasus(COLOR, HANDS, bool, long, int);<br />
virtual ~Pegasus() {cout << "Pegasus destructor...\n";}<br />
virtual long GetNumberBelievers() const<br />
{ return itsNumberBelievers; }<br />
virtual COLOR GetColor()const { return Horse::itsColor; }<br />
private:<br />
long itsNumberBelievers;<br />
};<br />
Pegasus::Pegasus(<br />
COLOR aColor,<br />
HANDS height,<br />
bool migrates,<br />
long NumBelieve,<br />
int age):<br />
Horse(aColor, height,age),<br />
Bird(aColor, migrates,age),<br />
Animal(age*2),<br />
itsNumberBelievers(NumBelieve)<br />
{<br />
cout << "Pegasus constructor...\n";<br />
}<br />
int main()<br />
{<br />
Pegasus *pPeg = new Pegasus(Red, 5, true, 10, 2);<br />
int age = pPeg->GetAge();<br />
cout << "This pegasus is " << age << " years old.\n";<br />
delete pPeg;<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Implementing Pure Virtual Functions==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Shape<br />
{<br />
public:<br />
Shape(){}<br />
virtual ~Shape(){}<br />
virtual double GetArea() = 0;<br />
virtual double GetPerim()= 0;<br />
virtual void Draw() = 0;<br />
private:<br />
};<br />
void Shape::Draw()<br />
{<br />
cout << "Abstract drawing mechanism!\n";<br />
}<br />
class Circle : public Shape<br />
{<br />
public:<br />
Circle(int radius):itsRadius(radius){}<br />
virtual ~Circle(){}<br />
double GetArea() { return 3.14 * itsRadius * itsRadius; }<br />
double GetPerim() { return 2 * 3.14 * itsRadius; }<br />
void Draw();<br />
private:<br />
int itsRadius;<br />
int itsCircumference;<br />
};<br />
void Circle::Draw()<br />
{<br />
cout << "Circle drawing routine here!\n";<br />
Shape::Draw();<br />
}<br />
class Rectangle : public Shape<br />
{<br />
public:<br />
Rectangle(int len, int width):<br />
itsLength(len), itsWidth(width){}<br />
virtual ~Rectangle(){}<br />
double GetArea() { return itsLength * itsWidth; }<br />
double GetPerim() {return 2*itsLength + 2*itsWidth; }<br />
virtual int GetLength() { return itsLength; }<br />
virtual int GetWidth() { return itsWidth; }<br />
void Draw();<br />
private:<br />
int itsWidth;<br />
int itsLength;<br />
};<br />
void Rectangle::Draw(){<br />
for (int i = 0; i<itsLength; i++){<br />
for (int j = 0; j<itsWidth; j++)<br />
cout << "x ";<br />
cout << "\n";<br />
}<br />
Shape::Draw();<br />
}<br />
<br />
class Square : public Rectangle<br />
{<br />
public:<br />
Square(int len);<br />
Square(int len, int width);<br />
virtual ~Square(){}<br />
double GetPerim() {return 4 * GetLength();}<br />
};<br />
Square::Square(int len):<br />
Rectangle(len,len)<br />
{}<br />
Square::Square(int len, int width):Rectangle(len,width){<br />
if (GetLength() != GetWidth())<br />
cout << "Error, not a square... a Rectangle??\n";<br />
}<br />
int main()<br />
{<br />
Shape * sp;<br />
sp = new Circle(5);<br />
sp->Draw();<br />
delete sp;<br />
<br />
sp = new Rectangle(4,6);<br />
sp->Draw();<br />
delete sp;<br />
<br />
sp = new Square (5);<br />
sp->Draw();<br />
delete sp;<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Multiple Virtual Functions Called in Turn==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Mammal<br />
{<br />
public:<br />
Mammal():itsAge(1) { }<br />
virtual ~Mammal() { }<br />
virtual void Speak() const { cout << "Mammal speak!\n"; }<br />
protected:<br />
int itsAge;<br />
};<br />
class Dog : public Mammal<br />
{<br />
public:<br />
void Speak()const { cout << "Woof!\n"; }<br />
};<br />
class Cat : public Mammal<br />
{<br />
public:<br />
void Speak()const { cout << "Meow!\n"; }<br />
};<br />
<br />
class Horse : public Mammal<br />
{<br />
public:<br />
void Speak()const { cout << "Winnie!\n"; }<br />
};<br />
class Pig : public Mammal<br />
{<br />
public:<br />
void Speak()const { cout << "Oink!\n"; }<br />
};<br />
int main()<br />
{<br />
Mammal* theArray[5];<br />
Mammal* ptr;<br />
ptr = new Dog;<br />
theArray[0] = ptr;<br />
ptr = new Cat;<br />
theArray[1] = ptr;<br />
ptr = new Horse;<br />
theArray[2] = ptr;<br />
ptr = new Pig;<br />
theArray[3] = ptr;<br />
ptr = new Mammal;<br />
theArray[4] = ptr;<br />
<br />
for (int i=0;i<5;i++)<br />
theArray[i]->Speak();<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Override non-virtual function==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Base <br />
{<br />
public:<br />
void display(void) { cout << "This is the base class" << endl; };<br />
};<br />
class Derived: public Base <br />
{<br />
public:<br />
void display(void) { cout << "This is the derived class" << endl; };<br />
};<br />
int main(void)<br />
{<br />
Derived my_class;<br />
my_class.display();<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Pure Virtual Functions as a prototype==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class number {<br />
protected:<br />
int val;<br />
public:<br />
void setval(int i) { val = i; }<br />
<br />
// show() is a pure virtual function<br />
virtual void show() = 0;<br />
};<br />
<br />
class hextype : public number {<br />
public:<br />
void show() {<br />
cout << hex << val << "\n";<br />
}<br />
};<br />
<br />
class dectype : public number {<br />
public:<br />
void show() {<br />
cout << val << "\n";<br />
}<br />
};<br />
<br />
class octtype : public number {<br />
public:<br />
void show() {<br />
cout << oct << val << "\n";<br />
}<br />
};<br />
<br />
int main()<br />
{<br />
dectype d;<br />
hextype h;<br />
octtype o;<br />
<br />
d.setval(20);<br />
d.show(); // displays 20 - decimal<br />
<br />
h.setval(20);<br />
h.show(); // displays 14 - hexadecimal<br />
<br />
o.setval(20);<br />
o.show(); // displays 24 - octal<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==The Virtual Attribute Is Inherited==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
virtual void vfunc() {<br />
cout << "This is base"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived1 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived1"s vfunc().\n";<br />
}<br />
};<br />
<br />
/* derived2 inherits virtual function vfunc()<br />
from derived1. */<br />
class derived2 : public derived1 {<br />
public:<br />
// vfunc() is still virtual<br />
void vfunc() {<br />
cout << "This is derived2"s vfunc().\n";<br />
}<br />
};<br />
<br />
int main()<br />
{<br />
base *p, b;<br />
derived1 d1;<br />
derived2 d2;<br />
<br />
// point to base<br />
p = &b;<br />
p->vfunc(); // access base"s vfunc()<br />
<br />
// point to derived1<br />
p = &d1;<br />
p->vfunc(); // access derived1"s vfunc()<br />
<br />
// point to derived2<br />
p = &d2;<br />
p->vfunc(); // access derived2"s vfunc()<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Using Virtual Functions to control the behaviour==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class convert {<br />
protected:<br />
double val1; // initial value<br />
double val2; // converted value<br />
public:<br />
convert(double i) {<br />
val1 = i;<br />
}<br />
double getconv() { return val2; }<br />
double getinit() { return val1; }<br />
<br />
virtual void compute() = 0;<br />
};<br />
<br />
// Liters to gallons.<br />
class l_to_g : public convert {<br />
public:<br />
l_to_g(double i) : convert(i) { }<br />
void compute() {<br />
val2 = val1 / 3.7854;<br />
}<br />
};<br />
<br />
// Fahrenheit to Celsius<br />
class f_to_c : public convert {<br />
public:<br />
f_to_c(double i) : convert(i) { }<br />
void compute() {<br />
val2 = (val1-32) / 1.8;<br />
}<br />
};<br />
<br />
int main()<br />
{<br />
convert *p; // pointer to base class<br />
<br />
l_to_g lgob(4);<br />
f_to_c fcob(70);<br />
<br />
// use virtual function mechanism to convert<br />
p = &lgob;<br />
cout << p->getinit() << " liters is ";<br />
p->compute();<br />
cout << p->getconv() << " gallons\n"; // l_to_g<br />
<br />
p = &fcob;<br />
cout << p->getinit() << " in Fahrenheit is ";<br />
p->compute();<br />
cout << p->getconv() << " Celsius\n"; // f_to_c<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Using Virtual Methods==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Mammal<br />
{<br />
public:<br />
Mammal():itsAge(1) { cout << "Mammal constructor..." << endl; }<br />
virtual ~Mammal() { cout << "Mammal destructor..." << endl; }<br />
void Move() const { cout << "Mammal move one step" << endl; }<br />
virtual void Speak() const { cout << "Mammal speak!" << endl; }<br />
protected:<br />
int itsAge;<br />
};<br />
class Dog : public Mammal<br />
{<br />
public:<br />
Dog() { cout << "Dog Constructor..." << endl; }<br />
virtual ~Dog() { cout << "Dog destructor..." << endl; }<br />
void WagTail() { cout << "Wagging Tail..." << endl; }<br />
void Speak()const { cout << "Woof!" << endl; }<br />
void Move()const { cout << "Dog moves 5 steps..." << endl; }<br />
};<br />
int main()<br />
{<br />
Mammal *pDog = new Dog;<br />
pDog->Move();<br />
pDog->Speak();<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual base classes.==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
int i;<br />
};<br />
<br />
// derived1 inherits base as virtual.<br />
class derived1 : virtual public base {<br />
public:<br />
int j;<br />
};<br />
<br />
// derived2 inherits base as virtual.<br />
class derived2 : virtual public base {<br />
public:<br />
int k;<br />
};<br />
<br />
class derived3 : public derived1, public derived2 {<br />
public:<br />
int sum;<br />
};<br />
<br />
int main()<br />
{<br />
derived3 ob;<br />
<br />
ob.i = 10; // now unambiguous<br />
ob.j = 20;<br />
ob.k = 30;<br />
<br />
// unambiguous<br />
ob.sum = ob.i + ob.j + ob.k;<br />
<br />
// unambiguous<br />
cout << ob.i << " ";<br />
<br />
cout << ob.j << " " << ob.k << " ";<br />
cout << ob.sum;<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual Copy Constructor==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class Mammal<br />
{<br />
public:<br />
Mammal():itsAge(1) { cout << "Mammal constructor..." << endl; }<br />
virtual ~Mammal() { cout << "Mammal destructor..." << endl; }<br />
Mammal (const Mammal & rhs);<br />
virtual void Speak() const { cout << "Mammal speak!" << endl; }<br />
virtual Mammal* Clone() { return new Mammal(*this); }<br />
int GetAge()const { return itsAge; }<br />
protected:<br />
int itsAge;<br />
};<br />
Mammal::Mammal (const Mammal & rhs):itsAge(rhs.GetAge())<br />
{<br />
cout << "Mammal Copy Constructor..." << endl;<br />
}<br />
class Dog : public Mammal<br />
{<br />
public:<br />
Dog() { cout << "Dog constructor..." << endl; }<br />
virtual ~Dog() { cout << "Dog destructor..." << endl; }<br />
Dog (const Dog & rhs);<br />
void Speak()const { cout << "Woof!" << endl; }<br />
virtual Mammal* Clone() { return new Dog(*this); }<br />
};<br />
Dog::Dog(const Dog & rhs):<br />
Mammal(rhs)<br />
{<br />
cout << "Dog copy constructor..." << endl;<br />
}<br />
class Cat : public Mammal<br />
{<br />
public:<br />
Cat() { cout << "Cat constructor..." << endl; }<br />
~Cat() { cout << "Cat destructor..." << endl; }<br />
Cat (const Cat &);<br />
void Speak()const { cout << "Meow!" << endl; }<br />
virtual Mammal* Clone() { return new Cat(*this); }<br />
};<br />
Cat::Cat(const Cat & rhs):<br />
Mammal(rhs)<br />
{<br />
cout << "Cat copy constructor..." << endl;<br />
}<br />
enum ANIMALS { MAMMAL, DOG, CAT};<br />
const int NumAnimalTypes = 3;<br />
int main()<br />
{<br />
Mammal *theArray[NumAnimalTypes];<br />
Mammal* ptr;<br />
ptr = new Dog;<br />
theArray[0] = ptr;<br />
ptr = new Cat;<br />
theArray[1] = ptr;<br />
ptr = new Mammal;<br />
theArray[2] = ptr;<br />
Mammal *OtherArray[NumAnimalTypes];<br />
for (int i=0;i<NumAnimalTypes;i++)<br />
{<br />
theArray[i]->Speak();<br />
OtherArray[i] = theArray[i]->Clone();<br />
}<br />
for (int i=0;i<NumAnimalTypes;i++)<br />
OtherArray[i]->Speak();<br />
return 0;<br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual function and two subclasses==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream> <br />
using namespace std;<br />
class Base { <br />
public: <br />
virtual void who(void) { <br />
cout << "Base\n"; <br />
} <br />
}; <br />
<br />
class first_d : public Base { <br />
public: <br />
void who(void) { <br />
cout << "First derivation\n"; <br />
} <br />
}; <br />
<br />
class second_d : public Base { <br />
// who() not defined <br />
}; <br />
<br />
main(void) <br />
{ <br />
Base base_obj; <br />
Base *p; <br />
first_d first_obj; <br />
second_d second_obj; <br />
<br />
p = &base_obj; <br />
p->who(); <br />
<br />
p = &first_obj; <br />
p->who(); <br />
<br />
p = &second_obj; <br />
p->who(); <br />
<br />
return 0; <br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==virtual function from base and derived classes==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
#include <string.h><br />
using namespace std;<br />
class Base <br />
{<br />
public:<br />
virtual void show_message(void) { cout << "Base class message" << endl; };<br />
virtual void show_reverse(void) = 0;<br />
};<br />
class Derived : public Base <br />
{<br />
public:<br />
virtual void show_message(void) { cout << "Derived class message" << endl; };<br />
virtual void show_reverse(void) { cout << strrev("Derived class message") << endl; };<br />
};<br />
int main(void)<br />
{<br />
Base *poly = new Derived;<br />
poly->show_message();<br />
poly->show_reverse();<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual function in three level inheritance==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
virtual void vfunc() {<br />
cout << "This is base"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived1 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived1"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived2 : public derived1 {<br />
public:<br />
};<br />
<br />
int main()<br />
{<br />
base *p, b;<br />
derived1 d1;<br />
derived2 d2;<br />
<br />
// point to base<br />
p = &b;<br />
p->vfunc(); // access base"s vfunc()<br />
<br />
// point to derived1<br />
p = &d1;<br />
p->vfunc(); // access derived1"s vfunc()<br />
<br />
// point to derived2<br />
p = &d2;<br />
p->vfunc(); // use derived1"s vfunc()<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==virtual functions accessed from pointer==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream> <br />
using namespace std; <br />
class Base{ <br />
public: <br />
virtual void show(){ cout << "Base\n"; } <br />
}; <br />
class Derv1 : public Base{ <br />
public: <br />
void show(){ cout << "Derv1\n"; } <br />
}; <br />
class Derv2 : public Base{ <br />
public: <br />
void show(){ cout << "Derv2\n"; } <br />
}; <br />
int main(){ <br />
Derv1 dv1; <br />
Derv2 dv2; <br />
Base* ptr; <br />
<br />
ptr = &dv1; <br />
ptr->show(); <br />
<br />
ptr = &dv2; <br />
ptr->show(); <br />
return 0; <br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual Functions and Polymorphism==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
virtual void vfunc() {<br />
cout << "This is base"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived1 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived1"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived2 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived2"s vfunc().\n";<br />
}<br />
};<br />
<br />
int main()<br />
{<br />
base *p, b;<br />
derived1 d1;<br />
derived2 d2;<br />
<br />
// point to base<br />
p = &b;<br />
p->vfunc(); // access base"s vfunc()<br />
<br />
// point to derived1<br />
p = &d1;<br />
p->vfunc(); // access derived1"s vfunc()<br />
<br />
// point to derived2<br />
p = &d2;<br />
p->vfunc(); // access derived2"s vfunc()<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==Virtual Functions Are Hierarchical==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
<br />
class base {<br />
public:<br />
virtual void vfunc() {<br />
cout << "This is base"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived1 : public base {<br />
public:<br />
void vfunc() {<br />
cout << "This is derived1"s vfunc().\n";<br />
}<br />
};<br />
<br />
class derived2 : public base {<br />
public:<br />
// vfunc() not overridden by derived2, base"s is used<br />
};<br />
<br />
int main()<br />
{<br />
base *p, b;<br />
derived1 d1;<br />
derived2 d2;<br />
<br />
// point to base<br />
p = &b;<br />
p->vfunc(); // access base"s vfunc()<br />
<br />
// point to derived1<br />
p = &d1;<br />
p->vfunc(); // access derived1"s vfunc()<br />
<br />
// point to derived2<br />
p = &d2;<br />
p->vfunc(); // use base"s vfunc()<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<br />
</source><br />
<br />
<br />
==virtual functions with person class==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream> <br />
using namespace std; <br />
class person{ <br />
protected: <br />
char name[40]; <br />
public: <br />
void getName() <br />
{ cout << " Enter name: "; cin >> name; } <br />
void putName() <br />
{ cout << "Name is: " << name << endl; } <br />
virtual void getData() = 0;<br />
virtual bool isOutstanding() = 0;<br />
}; <br />
class student : public person{ <br />
private: <br />
float gpa; <br />
public: <br />
void getData(){ <br />
person::getName(); <br />
cout << " Enter student"s GPA: "; cin >> gpa; <br />
} <br />
bool isOutstanding() <br />
{ <br />
return (gpa > 3.5) ? true : false; <br />
} <br />
}; <br />
class professor : public person{ <br />
private: <br />
int numPubs; <br />
public: <br />
void getData(){ <br />
person::getName(); <br />
cout << " Enter number of professor"s publications: "; <br />
cin >> numPubs; <br />
} <br />
bool isOutstanding() <br />
{ <br />
return (numPubs > 100) ? true : false; <br />
} <br />
}; <br />
int main(){ <br />
person* persPtr[100];<br />
int n = 0; <br />
char choice; <br />
<br />
do { <br />
cout << "Enter student or professor (s/p): "; <br />
cin >> choice; <br />
if(choice=="s") <br />
persPtr[n] = new student; <br />
else <br />
persPtr[n] = new professor; <br />
persPtr[n++]->getData(); <br />
cout << " Enter another (y/n)? ";<br />
cin >> choice; <br />
} while( choice=="y" ); <br />
<br />
for(int j=0; j<n; j++){ <br />
persPtr[j]->putName(); <br />
if( persPtr[j]->isOutstanding() ) <br />
cout << " This person is outstanding\n"; <br />
} <br />
return 0; <br />
}<br />
<br />
<br />
</source><br />
<br />
<br />
==virtual members==<br />
<br />
<br />
<br />
<source lang="cpp"> <br />
#include <iostream><br />
using namespace std;<br />
class CPolygon {<br />
protected:<br />
int width, height;<br />
public:<br />
void set_values (int a, int b)<br />
{ width=a; height=b; }<br />
virtual int area ()<br />
{ return (0); }<br />
};<br />
class CRectangle: public CPolygon {<br />
public:<br />
int area ()<br />
{ return (width * height); }<br />
};<br />
class CTriangle: public CPolygon {<br />
public:<br />
int area ()<br />
{ return (width * height / 2); }<br />
};<br />
int main () {<br />
CRectangle rect;<br />
CTriangle trgl;<br />
CPolygon poly;<br />
CPolygon * ppoly1 = &rect;<br />
CPolygon * ppoly2 = &trgl;<br />
CPolygon * ppoly3 = &poly;<br />
ppoly1->set_values (4,5);<br />
ppoly2->set_values (4,5);<br />
ppoly3->set_values (4,5);<br />
cout << ppoly1->area() << endl;<br />
cout << ppoly2->area() << endl;<br />
cout << ppoly3->area() << endl;<br />
return 0;<br />
}<br />
<br />
<br />
</source></div>Admin Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179
Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48