כיצד ליישם עומס יתר על ידי פונקציה C ++?



מאמר זה יציג בפניכם עומס יתר על פונקציות ו- C ++ שהם שני המושגים החשובים ביותר של OOPS.

C ++ הוא בטבע והוא מתגאה בתכונות שונות. בפגישה זו נדון כיצד ליישם עומס יתר על פונקציות ועקיפת פונקציות ב- C ++.

המצביעים הבאים יוסקרו במאמר זה,





ממשיך הלאה עם מאמר זה על העמסת פונקציות ועקיפות ב- C ++

פונקציית עומס יתר



פונקציות בעלות שם זהה אך פרמטרים שונים מותרות ב- C ++ ונקראות פונקציית עומס יתר . זה נקרא גם פולימורפיזם לזמן הידור.

לדוגמה:

כיצד להשתמש בספסל העבודה של
סכום (int a, float b) סכום (int a, int b) סכום (int a, int b, int c)

הנה שלוש פונקציות עם אותו שם, אך הדבר היחיד שמבדיל ביניהן הוא שהפרמטרים שונים בכל אחד מהם. לכן, בהתאם לפרמטרים שעברו, נקראת פונקציה.



אם סוגי ההחזרות של הפונקציות שונים אז זה נחשב לא חוקי.

ממשיך הלאה עם מאמר זה על העמסת פונקציות ועקיפות ב- C ++

קוד לדוגמא לפונקציה במהלך טעינה

כולל שימוש במרחב השמות std class תוספת {פומבי: int הוסף (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition פיתיון< 

תְפוּקָה

פלט- עומס יתר על דרישות פונקציות ב- C ++ - אדוריקה

הֶסבֵּר

בתוכנית לעיל יש לנו שתי פונקציות בכיתת התוספת. שניהם מוסיפים להוסיף. לאחד יש 2 פרמטרים ולשני 3 פרמטרים.

בפונקציה הראשית, אנו יוצרים אובייקט של תוספת מחלקה הנקראת a. אנו קוראים לפונקציות הוספה עם 2 ו -3 פרמטרים בהתאמה והפונקציות להוסיף נקראות והן מבצעות הוספה.

כיצד ליצור סט

כך מתרחשת העמסת יתר על הפונקציה.

ממשיך הלאה עם מאמר זה על העמסת פונקציות ועקיפות ב- C ++

עקיפת פונקציה

כאשר למחלקה נגזרת יש פונקציה בשם זהה לפונקציה של מחלקת הבסיס, היא נקראת עקיפת פונקציה. שתי הפונקציות חייבות להכיל את אותם הפרמטרים בשני המחלקות.

קוד לדוגמא לעקיפת פונקציות

#include באמצעות namespace std class 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 } 

תְפוּקָה:

הֶסבֵּר:

בתוכנית לעיל אנו מציגים פונקציה בסיסית, עם אותו שם במחלקה הנגזרת והבסיסית. כאן האובייקט נוצר מהמחלקה הנגזרת ולכן כשאנחנו קוראים לתצוגה מוצג רק האובייקט של מחלקת הילד.

ממשיך הלאה עם מאמר זה על העמסת פונקציות ועקיפות ב- C ++

צו לבצע עקיפה

שקול את הקוד:

#include באמצעות namespace std class 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 } 

תְפוּקָה:

הֶסבֵּר:

בתוכנית לעיל אנו מציגים פונקציה בסיסית, עם שם זהה במחלקה הנגזרת והבסיסית. כאן, ההבדל היחיד מהתוכנית הקודמת הוא בכך. אנו יוצרים את האובייקט של כיתת הילדים. לאובייקט כיתת הילד ניתן התייחסות למחלקת הבסיס. ניתן לעשות זאת גם בשיטה אחרת,

תחביר

Parent_class_name :: function ()

בדוגמה שלעיל אנו משתמשים בה כ,

הדרכה על התמונה שלב אחר שלב
BaseClass :: disp ()

זו דרך נוספת לדרוס.

עומס יתר על פונקציות לעומת עקיפת פונקציות

פונקציית יתר ביטול פונקציה
ההיקף זההההיקף שונה
על החתימות להיות שונות (למשל: פרמטר)החתימות חייבות להיות זהות
מספר פונקציות עומס יתר אפשריותאפשרית רק פונקציה עיקרית אחת
עלול להתרחש ללא ירושהזה קורה בעיקר בגלל ירושה

לפיכך הגענו לסוף מאמר זה בנושא 'עומס יתר על פונקציות ועקיפות ב- C ++'. אם ברצונך ללמוד עוד, עיין ב מאת אדוריקה, חברת למידה מקוונת אמינה. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועד להכשיר אתכם למושגי הליבה והמתקדמים של Java יחד עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת במדור התגובות בבלוג זה ונחזור אליך בהקדם האפשרי.