Статичен метод C++

Staticen Metod C



Методът в C++ е известен също като функция и използването на методи в C++ насърчава концепцията за модулно програмиране и повторно използване на кода. Това означава, че методите, които веднъж са написани, могат да бъдат извиквани многократно толкова пъти, колкото е необходимо, без да е необходимо да ги пишете всеки път. Тези методи имат следните три основни свойства:
  • Статичните методи могат да бъдат извлечени директно с името на класа и оператора за разрешаване на обхвата, без да се създава обект.
  • Статичните методи на даден клас имат достъп само до статичните членове на този клас.
  • Статичните методи нямат достъп до нестатичните членове на клас.

Създадохме тази статия, за да ви научим на използването на статичните методи в C++ в Ubuntu 20.04.

Използване на статичния метод в C++ в Ubuntu 20.04

За да използвате статичните методи в C++ в Ubuntu 20.04, първо трябва да преминете през всички примери, предоставени по-долу, за да имате добра представа как работят тези функции в C++.







Пример # 1: Изследване на първото свойство на статичните методи в C++

В този пример искаме да проучим първото свойство на статичните методи в C++; статичните методи на клас могат да бъдат достъпни директно с името на класа, докато се използва операторът за разрешаване на обхват. За това сме написали C++ скрипт, показан на следното изображение:



  Статичен метод C++



В този C++ скрипт сме дефинирали клас с име „Number“. В тялото на този клас имаме само една обществена функция. Декларирахме тази функция като „статична“. Името на тази функция е „ PrintNum ”, и приема числото „n” като единствен параметър. В рамките на тази функция ние просто искаме да отпечатаме стойността на това предадено число на терминала. Както можете да видите, не сме дефинирали никакъв конструктор за този клас. Това означава, че нямаме намерение да създаваме негов обект. Вместо това ще имаме директен достъп до функциите на този клас.





Сега, в рамките на нашия „ основен () ” имаме достъп до „ PrintNum ” функция на класа „Число” с помощта на името на класа и оператора за разрешаване на обхват. Докато извикваме тази функция, ние сме й предали произволно число, т.е. 25. Нашата „ основен () ” функцията завършва с израза „return 0”, тъй като ние декларирахме, че има целочислен тип връщане.

Когато компилирахме и изпълнихме този C++ скрипт, нашият номер беше правилно отпечатан на терминала, както е показано на изображението по-долу. Това означава, че първото свойство на статичните методи в C++ е удовлетворено — статичните методи могат да бъдат достъпни директно с името на класа, без да се създава обект, и те работят точно по предназначение.



  Статичен метод в c++

Пример # 2: Изследване на второто свойство на статичните методи в C++

В този пример искаме да проучим второто свойство на статичните методи в C++; статичните методи на даден клас имат достъп само до статичните членове на този клас. За това сме написали C++ скрипт, показан на следното изображение:

В този C++ скрипт първо сме дефинирали клас, наречен 'Number'. Вътре в тялото на този клас имаме частен член „x“, който е от целочислен тип данни и сме го направили статичен. Тогава имаме само една обществена функция. Декларирахме тази функция като „ статичен ”. Името на тази функция е „ PrintNum ”, и приема числото „n” като единствен параметър. В рамките на тази функция искаме да отпечатаме стойността на това предадено число на терминала и стойността на статичния член „x“.

След това инициализирахме статичния член „x“ със стойност „10“ с помощта на името на класа извън нашия клас, без да използваме отново ключовата дума „static“. Сега, в рамките на нашия „ основен () ” имаме достъп до „ PrintNum ” функция на класа „Число” с помощта на името на класа и оператора за разрешаване на обхват. Докато извикваме тази функция, ние й предадохме произволно число, т.е. 25. Нашата „ основен () ” функцията завършва с израза „return 0”, тъй като ние декларирахме, че има целочислен тип връщане.

Когато компилирахме и изпълнихме този C++ скрипт, нашият номер, както и стойността на променливата „x“, бяха правилно отпечатани на терминала, както е показано на изображението по-долу. Това означава, че второто свойство на статичните методи в C++ е удовлетворено — статичните методи могат да имат достъп само до статичните членове на клас в C++.

Пример # 3: Изследване на третото свойство на статичните методи в C++

В този пример искаме да проучим третото свойство на статичните методи в C++, което всъщност е другият начин за посочване на второто свойство; статичните методи нямат достъп до нестатичните членове на клас. За това сме написали C++ скрипт, показан на следното изображение:

Този C++ скрипт изглежда точно като скрипта, показан във втория пример. Въпреки това, единствената разлика е, че този път не сме декларирали променливата 'x' като статична.

Когато компилирахме и изпълнихме този C++ скрипт, на терминала беше генерирано съобщение за грешка, както е показано на изображението по-долу, заявявайки, че нещо като стойността на „x“ не може да бъде достъпна чрез статичен метод в C++. Това означава, че третото свойство на статичните методи в C++ е удовлетворено — статичните методи нямат достъп до нестатични членове на клас в C++.

Пример # 4: Генериране на последователни сменени номера чрез използване на статичните методи в C++

В този пример просто искахме да дадем общ поглед върху това как работят статичните методи в C++, като завършим нашите примери. Ние просто ще създадем програма за генериране на някои ролкови номера в рамките на предоставения диапазон. За това сме написали C++ скрипт, показан на следното изображение:

В този C++ скрипт имаме клас с име „RollNumber“. В този клас имаме частен статичен член „RollNum“ от целочислен тип данни. След това имаме публичен статичен метод ' getRollNum() ” с целочислен тип връщане. Извън дефиницията на този клас, ние инициализирахме нашата променлива „RollNum“ със стойност „1“ и дефинирахме нашата „ getRollNum() ” също за връщане на увеличения „RollNum” всеки път, когато се извиква.

Тогава в рамките на нашия „ основен () ”, имаме цикъл „for”, който итерира през променлива на брояча от „0” до „9”, което е за 10 итерации. Вътре в този цикъл искаме да отпечатаме стойността, върната от „ getRollNum() ” за всяка итерация. Отново „ основен () ” завършва с израза „връщане на 0”.

Когато компилирахме и изпълнихме този C++ скрипт, серия от 10 различни номера на ролки беше генерирана на терминала, както е показано на следното изображение:

Заключение

Нашата цел за тази статия беше да ви научим на използването на статичните методи в C++ в Ubuntu 20.04. Споделихме основните свойства на тези методи, последвани от четирите примера, чрез които можете незабавно да научите как тези методи работят в C++. След като разберете тези примери, можете лесно да придобиете добро владеене на статичните методи в C++. Надяваме се, че сте намерили тази статия за полезна и вижте Linux Hint за повече информативни статии.