Difference between revisions of "Advanced-Cpp/C2/Function-Overloading-And-Overriding/Malayalam"
From Script | Spoken-Tutorial
Line 13: | Line 13: | ||
|- | |- | ||
|00:11 | |00:11 | ||
− | |'''ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.''' | + | |'''ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.''''''ഫങ്ഷൻ ഓവർറൈഡിംഗ്.''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 495: | Line 491: | ||
|- | |- | ||
|08:15 | |08:15 | ||
− | |'''ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.''' | + | |'''ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.'''ഉദാഹരണം : മൂന്ന് വെത്യസ്ത ആര്ഗുമെന്റ്സ് ഉപയോഗിച്ച്, '''int add''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 519: | Line 511: | ||
|- | |- | ||
|08:38 | |08:38 | ||
− | |നിങ്ങൾ ചെയേണ്ടത്, | + | |നിങ്ങൾ ചെയേണ്ടത്,function overloading ഉപയോഗിച്ച്, rectangle, square, circle ഇവ മൂന്നിന്റെയും area കാണാനുള്ള പ്രോഗ്രാം എഴുതുക. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- |
Revision as of 17:37, 27 February 2017
Time | Narration |
00:01 | function Overloading and Overriding in C++ എന്ന സ്പോകെൻ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം. |
00:09 | ഇവിടെ പഠിക്കുന്നത്. |
00:11 | 'ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.'ഫങ്ഷൻ ഓവർറൈഡിംഗ്. |
00:14 | ഒരു ഉദാഹരണത്തിൻറെ സഹായത്തോടെ നമുക്ക് ഇത് പഠിക്കാം. |
00:18 | ഈ ടൂട്ടോറിയൽ റെക്കോഡ് ചെയ്യാൻ ഞാൻ ഉപയോഗിക്കുന്നത്, |
00:21 | ഉബുണ്ടു OS version 11.10 |
00:26 | g++ കമ്പൈലർ version 4.6.1 |
00:30 | നമ്മുക്ക് function overloading നോക്കാം. |
00:34 | ഒരേ പേരില് രണ്ടോ അതില് കൂടുതലോ ഫങ്ങ്ഷന്സ് ഉപയോഗിക്കുന്നതിനെ function Overloading എന്ന് പറയുന്നു. |
00:41 | ആര്ഗുമെന്സിന്റെ നമ്പറും ആര്ഗുമെന്സിന്റെ data-type ഉം വ്യത്യസ്ഥമായിരിക്കും |
00:47 | ഒരു function വിളിക്കുമ്പോള് ആര്ഗുമെന്സിന്റെ എണ്ണം അനുസരിച്ചാണ് ഏത് function തിരഞ്ഞെടുക്കണം എന്ന് തീരുമാനിക്കുന്നത്. |
00:53 | ഒരു ഉദാഹരണം നോക്കാം. |
00:56 | എഡിറ്ററിൽ ഞാൻ നേരത്തേ എഴുതിയിട്ടുള്ള കോഡ് ആണ് നമ്മൾ ഇപ്പോൾ കാണുന്നതു . |
00:59 | addition ഓപ്പറേഷന് ചെയ്യാനുള്ള പ്രോഗ്രാമാണിത്. |
01:03 | നമ്മുടെ ഫയലിൻറെ പേര് overload.cpp |
01:08 | ഞാൻ കോഡ് വിശദീകരിക്കാം. |
01:10 | iostream എന്നത് ഒരു ഹെഡർ ഫയൽ ആണ്. |
01:13 | ഇവിടെ നാം STD namespace ഉപയോഗിക്കുന്നു. |
01:17 | നമ്മുക്ക് ഇവിടെ integer ആയി ഡിക്ലയര് ചെയ്ത add ഫങ്ഷനുണ്ട്. |
01:21 | ഇതില് നമ്മള് മൂന്ന് ആര്ഗുമെന്റ്സ് കൊടുക്കുന്നു. |
01:24 | Int a, int b, int c. |
01:28 | ശേഷം നമ്മള് addition ചെയുന്നു, വാല്യൂ return ചെയ്യുന്നു. |
01:33 | ഇവിടെ നമ്മള് add ഫങ്ഗ്ഷന് ഓവര്ലോഡ് ചെയ്യുകയാണ്. |
01:36 | ഇത് float ആയി ഡിക്ലയര് ചെയ്തിരിക്കുന്നു. |
01:38 | നമ്മള് രണ്ട് ആര്ഗുമെന്റ്സ് float d,float e എന്നിവ കൊടുത്തിരിക്കുന്നു. |
01:44 | ഇനി നമ്മള് രണ്ട് നമ്പര് ഉപയോഗിച്ച് addition ഓപ്പറേഷന് ചെയ്യുന്നു. |
01:48 | ഇത് നമ്മുടെ മെയിൻ ഫംഗ്ഷൻ. |
01:50 | main functionല് വിവിധ ആര്ഗുമെന്റ്സ് ഉപയോഗിച്ച് add ഫങ്ഗ്ഷന് ഡിക്ലയര് ചെയ്യുന്നു. |
01:56 | variables ഡിക്ലയര് ചെയ്യുന്നു. |
01:58 | ഇവിടെ നമ്മള് ഇന്റ്റിജര് വാല്യൂസ് യൂസറില് നിന്ന് സ്വീകരിക്കുന്നു. |
02:03 | ശേഷം മൂന്ന് ആര്ഗുമെന്റ്സ് ഉപയോഗിച്ച് add ഫങ്ഗ്ഷന് call ചെയ്യുന്നു. |
02:07 | sum എന്ന വാരിയബിളില് റിസള്ട്ട് സൂക്ഷിക്കുന്നു. |
02:09 | ഇവിടെ ആ റിസള്ട്ട് പ്രിന്റ് ചെയ്യുന്നു. |
02:12 | ഇവിടെ യൂസറില് നിന്നും floating point numbers സ്വീകരിക്കുന്നു. |
02:17 | പിന്നീട് രണ്ട് ആര്ഗുമെന്റ്സുള്ള add ഫങ്ഗ്ഷന് call ചെയ്യുന്നു. |
02:21 | ഇവിടെ sum പ്രിന്റ് ചെയ്യുന്നു. |
02:23 | ഇത് ഒരു return സ്റ്റേറ്റ്മെന്റൊണ്. |
02:26 | ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം. |
02:29 | കീബോർഡിൽ ഒരേസമയത്ത് Ctrl + Alt + T കീകൾ അമർത്തി ടെർമിനൽ വിൻഡോ തുറക്കുക. |
02:38 | കമ്പൈൽ ചെയ്യാൻ g++ സ്പേസ് overload ഡോട്ട് cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് over എന്ന് എഴുതുക. |
02:49 | എൻറ്റർ അമർത്തുക. |
02:51 | ./over(ഡോട്ട് സ്ലാഷ് over) എന്ന് ടൈപ്പ് ചെയ്യുക. |
02:53 | എൻറ്റർ അമർത്തുക. |
02:55 | നമ്മള് കാണുനത് : Enter three integers |
02:58 | ഞാന് 10, 25, 48 എന്ന് കൊടുക്കുന്നു |
03:04 | നമ്മുക്ക് കിട്ടുന്ന ഔട്ട്പുട്ട് : Sum of integers is 83 |
03:09 | ഇപ്പോള് നമ്മുക്ക് കാണാം: Enter two floating point numbers |
03:13 | ഞാന് കൊടുക്കുന്നത്: 4.5, 8.9 |
03:17 | എൻറ്റർ അമർത്തുക. |
03:19 | നമ്മുക്ക് കിട്ടുന്ന ഔട്ട്പുട്ട് : Sum of floating point numbers is 13.4 |
03:25 | ഇനി നമ്മുക്ക് function overriding എങ്ങനെയെന്ന് നോക്കാം. |
03:29 | നമ്മുക്ക് സ്ലൈഡിലേക്ക് തിരിച്ചുപോകാം. |
03:31 | derived ക്ലാസ്സില് ഒരു base class function വീണ്ടും ഡിഫൈന് ചെയ്യുന്നു. |
03:36 | derived classലെ ഫങ്ഗ്ഷന് base classലെ ഫങ്ഷനെ ഓവര്െെറഡ് ചെയ്യുന്നു. |
03:40 | നമ്മള് കൊടുക്കുന്ന arguments ഒരുപോലെ ആയിരിക്കും. |
03:44 | return-typeഉം ഒരുപോലെ ആയിരിക്കും. |
03:47 | ഒരു ഉദാഹരണം നോക്കാം. |
03:49 | ഇതാണ് function Overridingന്റെ ഉദാഹരണം. |
03:53 | നമ്മുടെ ഫയലിൻറെ പേര് override.cpp |
03:57 | ഞാൻ കോഡ് വിശദീകരിക്കാം. |
04:00 | iostream എന്നത് ഒരു ഹെഡർ ഫയൽ ആണ്. |
04:03 | ഇവിടെ നാം STD namespace ഉപയോഗിക്കുന്നു. |
04:06 | നമ്മുക്ക് arithmetic എന്ന ഒരു class ഉണ്ട്. |
04:09 | ഇതില് നമ്മള് വാരിയബിള്സ്നെ protected ആയി ഡിക്ലയര് ചെയ്തിരിക്കുന്നു. |
04:14 | values എന്ന ഫങ്ഗ്ഷന് പബ്ലിക് ആയി ഡിക്ലയര് ചെയ്തിരിക്കുന്നു. |
04:18 | ഇവിടെ നമ്മള് രണ്ട് ആര്ഗുമെന്റ്സിനെ കൊടുക്കുന്നു : int x, int y. |
04:23 | ആ വാല്യൂ aയിലും bയിലും സൂക്ഷിക്കുന്നു. |
04:26 | ഇവിടെ നമ്മുക്ക് operations എന്ന virtual function ഉണ്ട്. |
04:30 | ഇതില് നമ്മള് രണ്ട് നംബറുകള് ആഡ് ചെയ്തു അതിന്റെ sum പ്രിന്റ് ചെയ്യുന്നു. |
04:34 | ഇവിടെ ക്ലാസ്സ് അവസാനിക്കുന്നു. |
04:37 | Subtract എന്നത് ഒരു derived class ആണ്. |
04:41 | ഇത് base class ആയ arithmeticല് നിന്നും ഇന്ഹെറിറ്റ് ചെയ്യുന്നു. |
04:45 | ഇതില് രണ്ട് നമ്പറുകളുടെ വെത്യാസം കണ്ടുപിടിച്ച് അത് പ്രിന്റ് ചെയ്യുന്നു. |
04:50 | Multiply എന്നത് മറ്റൊരു derived class ആണ്. |
04:54 | ഇതും arithmetic എന്ന base classല് നിന്നും ഇന്ഹെറിറ്റ് ചെയ്യുന്നു. |
04:57 | ഇതില് രണ്ട് നമ്പറുകളുടെ ഗുണനം നടത്തി റിസള്ട്ട് പ്രിന്റ് ചെയ്യുന്നു. |
05:03 | arithmetic എന്ന base classല് നിന്നും ഇന്ഹെറിറ്റ് ചെയ്യുന്ന മറ്റൊരു ക്ലാസ്സാണ് divide. |
05:09 | ഇതില് രണ്ട് നമ്പറുകളുടെ ഹരണം നടത്തുന്നു. റിസള്ട്ട് പ്രിന്റ് ചെയ്യുന്നു. |
05:15 | ഫങ്ഗ്ഷന്റെ return type ഉം കൊടുത്തിട്ടുള്ള argumentsഉം ഒരുപോലെ ആയിരിക്കും. |
05:23 | ഇത് നമ്മുടെ മെയിൻ ഫംഗ്ഷൻ. |
05:26 | ക്ലാസ്സ് arithmeticന് p എന്ന ഒരു ഒബ്ജെക്റ്റ് നിര്മിക്കുന്നു. |
05:31 | arith എന്നത് ക്ലാസ്സ് arithmeticലേക്കുള്ള pointer ആണ്. |
05:35 | ക്ലാസ്സ് Subtractന്റെ ഒബ്ജെക്റ്റാണ് subt. |
05:39 | ക്ലാസ്സ് Multiplyയുടെ ഒബ്ജെക്റ്റാണ് mult. |
05:42 | അതുപോലെ ക്ലാസ്സ് Divideന്റെ ഒബ്ജെക്റ്റാണ് dvid. |
05:46 | ഇവിടെ p എന്നത് arithന്റെ address ആണ്. |
05:50 | values എന്ന ഫങ്ഗ്ഷന് 30, 12 എന്ന് ആര്ഗുമെന്റ്സ് കൊടുക്കുന്നു. |
05:56 | operations എന്ന ഫങ്ഗ്ഷൻ call ചെയ്യുന്നു. |
05:59 | ഇത് addition ഓപ്പറേഷന് ചെയ്യുന്നു. |
06:02 | ഇവിടെ arithനെ address ചെയ്യാന് subt ഉപയോഗിക്കുന്നു. |
06:07 | ആര്ഗുമെന്റ്സ് ആയി 42, 5 എന്നിവ കൊടുക്കുന്നു. |
06:11 | വീണ്ടും operations എന്ന ഫങ്ഗ്ഷന് call ചെയ്യുന്നു. |
06:14 | ഇത് രണ്ട് നമ്പറിന്റെ substraction ചെയ്യുന്നു. |
06:18 | ഇവിടെ multനെ arithന്റെ “address” ആയി കൊടുക്കുന്നു. |
06:22 | ആര്ഗുമെന്റ്സ് ആയി 6, 5 എന്നിവ കൊടുക്കുന്നു. |
06:26 | ഫങ്ഗ്ഷന് operations call ചെയ്യുന്നു. |
06:29 | ഇത് രണ്ട് നമ്പറിന്റെ multiplication ചെയ്യുന്നു. |
06:33 | ഇവിടെ dvid, arithന്റെ address ആയി കൊടുക്കുന്നു. ആര്ഗുമെന്റ്സ് ആയി 6, 3 എന്നിവ നല്കുന്നു. |
06:41 | ഫങ്ഗ്ഷന് operations call ചെയ്യുന്നു. |
06:44 | ഇത് രണ്ട് നമ്പറിന്റെ division ചെയ്യുന്നു. |
06:48 | ഇതാണ് നമ്മുടെ return സ്റ്റേറ്റ്മെന്റ്. |
06:50 | ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം. നമ്മുക്ക് ടെര്മിനലിലേക്ക് തിരിച്ചു പോകാം. |
06:54 | കമ്പൈൽ ചെയ്യാൻ g++ സ്പേസ് override.cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് over2 എന്ന് എഴുതുക. |
07:04 | എൻറ്റർ അമർത്തുക. |
07:06 | ./over2 എന്ന് ടൈപ്പ് ചെയ്യുക. |
07:09 | എൻറ്റർ അമർത്തുക. |
07:11 | നമ്മുക്ക് കിട്ടുന്ന ഔട്ട്പുട്ട് : |
07:13 | Addition of two numbers is 42 |
07:16 | Difference of two numbers is 37 |
07:19 | Product of two numbers is 30 , Division of two numbers is 2 എന്നായിരിക്കും. |
07:25 | നമ്മുക്ക് സ്ലൈഡിലേക്ക് മടങ്ങി പോകാം. |
07:27 | overloadingഉം overridingഉം തമ്മിലുള്ള വെത്യാസം നോക്കാം. |
07:31 | ഇന്ഹെറിറ്റന്സ് ഇല്ലാതെ Overloading ചെയ്യാന് സാധിക്കും. |
07:35 | ഒരു ക്ലാസ്സില് നിന്ന് മറ്റൊരു ക്ലാസ്സ് ഇന്ഹെറിറ്റ് ചെയ്യുമ്പോഴാണ് Overriding നടക്കുന്നത്. |
07:41 | overloadingല് ആര്ഗുമെന്റ്സും റിട്ടേണ് ടൈപ്പും വെത്യസ്തമായിരിക്കണം. |
07:46 | overridingല് ആര്ഗുമെന്റ്സും റിട്ടേണ് ടൈപ്പും ഒരുപോലെ ആയിരിക്കണം. |
07:51 | overloadingല് ഫങ്ഗ്ഷന്റെ പേര് ഒരുപോലെ ആയിരിക്കും. |
07:55 | പക്ഷേ ആര്ഗുമെന്റ്സ് കൊടുക്കുന്നത് അനുസരിച്ച് പ്രവര്ത്തിയില് വെത്യാസം വരുന്നു. |
08:01 | overridingല് ഫങ്ഗ്ഷന്റെ പേര് ഒരുപോലെ ആയിരിക്കും. |
08:05 | base classല് നിന്ന് Derived class functionന് വെത്യസ്ത ഓപ്പറേഷന് ചെയ്യാന് സാധിക്കും. |
08:11 | ചുരുക്കത്തിൽ, |
08:13 | ഇവിടെ പഠിച്ചത്, |
08:15 | ഫങ്ഷൻ ഓവര്ലോഡിംഗ്.ഉദാഹരണം : മൂന്ന് വെത്യസ്ത ആര്ഗുമെന്റ്സ് ഉപയോഗിച്ച്, int add |
08:21 | രണ്ട് വെത്യസ്ത ആര്ഗുമെന്റ്സ് ഉപയോഗിച്ച്, float add |
08:24 | ഫങ്ഷൻ ഓവര്െെറഡിങ്. |
08:26 | ഉദാഹരണം. virtual int operations () , int operations () |
08:31 | ആര്ഗുമെന്റ്സും റിട്ടേണ് ടൈപ്പും ഒരുപോലെ ഉള്ള ഫങ്ഗ്ഷന്സ് ആണ് പക്ഷെ രണ്ടും വ്യത്യസ്ഥമാണ്. |
08:38 | നിങ്ങൾ ചെയേണ്ടത്,function overloading ഉപയോഗിച്ച്, rectangle, square, circle ഇവ മൂന്നിന്റെയും area കാണാനുള്ള പ്രോഗ്രാം എഴുതുക. |
08:48 | താഴെ കാണിച്ചിരിക്കുന്ന ലിങ്കിൽ ലഭ്യമായ വീഡിയോ കാണുക. |
08:52 | ഇത് സ്പോകെന് ട്യൂട്ടോറിയൽ പ്രൊജക്റ്റ്നെ സംഗ്രഹിക്കുന്നു. |
08:55 | നല്ല ബാന്ഡ് വിഡ്ത്ത് ഇല്ലെങ്കിൽ ഡൌണ്ലോഡ് ചെയ്ത് കാണാവുന്നതാണ്. |
08:59 | സ്പോക്കണ് ട്യൂട്ടോറിയൽ പ്രോജക്ട് ടീം, |
09:02 | സ്പോക്കണ് ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് വർക്ക് ഷോപ്പുകൾ നടത്തുന്നു. |
09:05 | ഓൺലൈൻ പരിക്ഷ പാസാകുന്നവർക്ക് സർട്ടിഫിക്കറ്റുകൾ നൽകുന്നു. |
09:09 | കൂടുതൽ വിവരങ്ങൾക്കായി ഈ വെബ്സൈറ്റ് സന്ദർശിക്കുക. |
09:16 | സ്പോക്കണ് ട്യൂട്ടോറിയല് പ്രോജക്റ്റ് ടോക്ക് ടു എ ടീച്ചർ പ്രൊജക്റ്റിന്റെ ഭാഗമാണ്. |
09:20 | ഇതിനെ പിന്തുണയ്ക്കുന്നത്, നാഷണൽ മിഷൻ ഓണ് എഡ്യൂക്കേഷൻ ത്രൂ ICT, MHRD, ഗവണ്മെന്റ് ഓഫ് ഇന്ത്യ. |
09:27 | ഈ മിഷൻനെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഇവിടെ ലഭ്യമാണ് |
09:32 | ഈ ട്യൂട്ടോറിയല് വിവർത്തനം ചെയ്തത് ജെയിൻ ജോസഫ്. ഞാൻ ദേവി സേനൻ, IIT Bombay, നന്ദി. |