Difference between revisions of "Advanced-Cpp/C2/Function-Overloading-And-Overriding/Malayalam"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 13: Line 13:
 
|-
 
|-
 
|00:11
 
|00:11
|'''ഫങ്ഷൻ ഓവര്‍ലോഡിംഗ്.'''
+
|'''ഫങ്ഷൻ ഓവര്‍ലോഡിംഗ്.''''''ഫങ്ഷൻ  ഓവർറൈഡിംഗ്.'''
 
+
|-
+
|00:12
+
|'''ഫങ്ഷൻ  ഓവർറൈഡിംഗ്.'''
+
  
 
|-
 
|-
Line 495: Line 491:
 
|-
 
|-
 
|08:15
 
|08:15
|'''ഫങ്ഷൻ  ഓവര്‍ലോഡിംഗ്.'''
+
|'''ഫങ്ഷൻ  ഓവര്‍ലോഡിംഗ്.'''ഉദാഹരണം :  മൂന്ന് വെത്യസ്ത ആര്‍ഗുമെന്‍റ്സ് ഉപയോഗിച്ച്, '''int add'''
 
+
|-
+
|08:16
+
| ഉദാഹരണം :  മൂന്ന് വെത്യസ്ത ആര്‍ഗുമെന്‍റ്സ് ഉപയോഗിച്ച്, '''int add'''
+
  
 
|-
 
|-
Line 519: Line 511:
 
|-
 
|-
 
|08:38
 
|08:38
|നിങ്ങൾ ചെയേണ്ടത്,
+
|നിങ്ങൾ ചെയേണ്ടത്,function overloading ഉപയോഗിച്ച്, rectangle, square, circle ഇവ മൂന്നിന്‍റെയും area കാണാനുള്ള പ്രോഗ്രാം എഴുതുക.
 
+
|-
+
|08:39
+
|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, നന്ദി.

Contributors and Content Editors

Devisenan, Janejoseph 15, Pratik kamble, Vijinair