Лекс Айрин писал(а):зама парадигма ООП противится этому.
Языки, построенные на парадигме ООП, а не на костылях процедурно-ориентированного кода, вообще не допускают создания чего либо вне системы классов.
Вам вот стоит пристально взглянуть на Яву (не на JavaScript, а на истинную). Ваще прелесть: типы данных такие, что как бы говорит о том - де вам, лохам этого достаточно. Unsigned int? А нафига?

Функция может генерить exception? А вы не хотите обрабатывать? Ну-ну. Значит должны в явном виде передать на предыдущий уровень. Это на всякий случай, чтобы вдруг не забыли. Нет любимого многими метода передачи параметров в функцию VAR - де на самом деле адресация аргументов через указатель. Процедур вообще нет.

И да, нужно определить какие-нибудь константы или функции, не привязанные к объекту - должны объявить как static и разместить в каком-нибудь классе.