C ++ е в природата и се гордее с различни характеристики. В тази сесия ще обсъждаме как да приложим претоварване на функции и замяна на функции в C ++.
Следните указания ще бъдат разгледани в тази статия,
Продължавайки с тази статия за претоварване и заместване на функции в C ++
Претоварване на функцията
Функции с едно и също име, но различни параметри са разрешени в C ++ и се извикват Претоварване на функцията . Нарича се още полиморфизъм по време на компилация.
Например:
sum (int a, float b) sum (int a, int b) sum (int a, int b, int c)
Тук има три функции с едно и също име, но единственото нещо, което ги отличава, е, че параметрите са различни за всяка. И така, в зависимост от предадените параметри се извиква функция.
Ако типовете връщане на функциите са различни, то се счита за невалидно.
Продължавайки с тази статия за претоварване и заместване на функции в C ++
Примерен код за функция при зареждане
включва използване на пространство на имена std клас Добавяне {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Добавяне мода<Изход
Обяснение
В горната програма имаме две функции в класа за добавяне. И двете имена добавят. Единият има 2 параметъра, а другият има 3 параметъра.
урок за визуално студио за начинаещиВ основната функция създаваме обект от добавяне на клас, наречен a. Извикваме функциите за добавяне съответно с параметри 2 и 3 и функциите за добавяне се извикват и те извършват събиране.
Ето как става претоварването на функцията.
Продължавайки с тази статия за претоварване и заместване на функции в C ++
Замяна на функцията
Когато производен клас има функция със същото име като функция на основния клас, тя се извиква Замяна на функцията. И двете функции трябва да имат еднакви параметри и в двата класа.
Примерен код за замяна на функцията
#include използвайки std клас baseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 }Изход:
Обяснение:
В горната програма показваме основна функция, със същото име в производен и основен клас. Тук обектът е създаден от производния клас, така че когато извикаме display се показва само обектът на дъщерния клас.
Продължавайки с тази статия за претоварване и заместване на функции в C ++
Поръчка за извършване на замяна
Помислете за кода:
#include използвайки std клас baseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 }Изход:
Обяснение:
В горната програма показваме основна функция със същото име в производен и основен клас. Тук единствената разлика от предишната програма е тази. Създаваме обекта на дъщерния клас. На обекта на дъщерния клас се дава препратка към базовия клас. Това може да се направи и чрез използване на друг метод,
Синтаксис
Име_клас_на_ родител :: функция ()В горния пример го използваме като
BaseClass :: disp ()Това е друг начин за отмяна.
Претоварване на функцията VS Замяна на функцията
настройте затъмнение за java -
Претоварване на функцията Замяна на функцията Обхватът е същият Обхватът е различен Подписите трябва да се различават (напр. Параметър) Подписите трябва да са еднакви Брой функции за претоварване Възможна е само една заместваща функция Може да настъпи без наследяване Появява се главно поради наследяване По този начин стигнахме до края на тази статия за „Претоварване и заместване на функции в C ++“. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.