Advanced-Cpp/C2/Constructor-And-Destructor/Malayalam

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Constructors and Destructors in C++ എന്ന സ്പോകെൻ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം.
00:07 ഇവിടെ പഠിക്കുന്നത്
00:09 കൻസ്റ്റ്റക്റ്റർസ് വിവിധ തരത്തിലുള്ള കൻസ്റ്റ്റക്റ്റർസ്
00:12 ഡിസ്റ്റ്ര് ക്ക്റ്റേസ്.നമുക്ക് ചില ഉദാഹരണങ്ങളുടെ സഹായത്തോടെ ഇത് ചെയ്യാം.
00:17 ഈ ടൂട്ടോറിയൽ റെക്കോഡ് ചെയ്യാൻ ഞാൻ ഉപയോഗിക്കുന്നത്,
00:20 ഉബുണ്ടു OS version 11.10,
00:23 g++ കമ്പൈലർ  version 4.6.1.
00:28 കൺസ്ട്രക്റ്ററിനെ കുറിച്ചാണ് നമ്മൾ ഇപ്പോൾ പഠിക്കുന്നത്.
00:31 ഒരു “’കൻസ്റ്റ്റക്റ്റർ”’ ഒരു മെംബർ ഫംഗ്ഷനാണ്.
00:33 “’ക്ലാസ്സിൻറെ പേര്”’ തനെയാണ്‌ ഇതിനും കൊടുക്കുനത്
00:37 “’കൻസ്റ്റ്റക്റ്റർസ്ന്”’ വാല്യൂ തിരിച്ച് അയക്കാൻ കഴിയില്ല.
00:40 ഒരു ഒബ്ജെക്റ്റ് നിർമിക്കുമ്പോൾ ഇത് സ്വന്തമായി പ്രവർത്തിക്കുന്നു.
00:44 വിവിധ തരത്തിലുള്ള “’കൻസ്റ്റ്റക്റ്റർസ്”’.
00:46 പാരാമീറ്ററയ്സ്ഡ് കൻസ്റ്റ്റക്റ്റർസ്,
00:49 കോപ്പി കൻസ്റ്റ്റക്റ്റർസ്, അതുപോലെ ഡിഫോൽറ്റ് കൻസ്റ്റ്റക്റ്റർസ്.
00:53 ഇനി നമ്മുക്ക് “’ ഡിസ്റ്റ്ര്ക്ക്റ്റേസ് “’ നോക്കാം.
00:56 “’ഡിസ്റ്റ്ര്ക്ക്റ്റേർസ്”’ മെമ്മറി ഡിഅലോകേറ്റ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.
00:59 ഒരു ഒബ്ജെക്റ്റ് ഇല്ലാതാക്കുമ്പോഴാണ് ഇത് പ്രവർത്തിക്കുനത്.
01:02 ഒരു “’ഡിസ്റ്റ്ര് ക്ക്റ്റേർ”’  ആർഗ്യമൻറ്റ്സ് ഒന്നും എടുക്കുന്നില്ല , അതുപോലെ അതിന് റിട്ടേണ്‍ ടൈപ്പ് ഇല്ല.
01:07 ഇനി നമ്മുക്ക് “’കൻസ്റ്റ്റക്റ്റർസ്ൻറെയും”’ “’ഡിസ്റ്റ്ര് ക്ക്റ്റേസ്ൻറെയും”’ ഉദാഹരണങ്ങൾ നോക്കാം.
01:11 എഡിറ്ററിൽ ഞാൻ നേരത്തേ എഴുതിയിട്ടുള്ള കോഡ് ആണ് നമ്മൾ ഇപ്പോൾ കാണുന്നതു.
01:15 നമ്മുടെ ഫയലിൻറെ പേര് “’cons-dest.cpp”’.
01:20 ഈ പ്രോഗ്രാമിൽ നമ്മൾ ചെയുനത് “’കൻസ്റ്റ്റക്റ്റർ”’ ഉപയോഗിച്ച് രണ്ട് സംഖ്യകളെ കൂട്ടുക.
01:25 ഞാൻ കോഡ് വിശദീകരിക്കാം.
01:27  “’iostream”’ എന്നത് ഒരു “’ഹെഡർ ഫയൽ”’ ആണ്.
01:30 ഇവിടെ നാം “’STD നെയിംസ്പേസ്”’  ഉപയോഗിക്കുന്നു.
01:33 നമ്മുക്ക് “’അഡിഷൻ”’ എന്ന ഒരു ക്ലാസ്സ്‌ ഉണ്ട്.  “’a”’ യും “’b”’യും “ integer variables” ആണ്.
01:38 ഇത് “addition” ക്ലാസ്സിൻറെ പ്രൈവറ്റ് മെംബേർസ് ആണ്.
01:42 ഇവിടെ നാം “’പബ്ലിക് സ്പെസിഫയർ”’ ഉപയോഗിക്കുന്നു.
01:44  ഇനി നമ്മുക്ക് ”’addition”’ എന്ന “’കൻസ്റ്റ്റക്റ്റർ”’  ഉണ്ട്.
01:47 ഈ “’കൻസ്റ്റ്റക്റ്റർന്”’ ക്ലാസ്സിൻറെ അതേ പേരാണ്. 
01:52 ഇവിടെ നമ്മൾ രണ്ട് ആർഗ്യമൻറ്റ്സ് കൊടുത്തു.
01:54 ഇനി നമുക്ക് ഒരു “’ഡിസ്റ്റ്ര്ക്ക്റ്റേർ”’ ഡിഫൈൻ ചെയ്യാം.
01:57 ഇതിനായി നമ്മൾ “’ഡിസ്റ്റ്ര് ക്ക്റ്ററിൻറെ”’ പേരിന് മുന്നിൽ “’ടില്ഡ് (~)”’ ചിഹ്നം ഉപയോഗിക്കുന്നു.
02:02 “’add”’ ഒരു പബ്ലിക് ഫംഗ്ഷനാണ്‌.
02:05 ഇത് റിട്ടേണ്‍ ചെയുനത് “ a” യുടെയും “ b” യുടെയും ആകെ തുകയാണ്.
02:08 ഇവിടെ “’സ്കോപ്പ് റെസലൂഷൻ ഓപ്പറേറ്റർ’” ഉപയോഗിച്ചാണ്‌ കൻസ്റ്റ്റക്റ്റർ ആക്സെസ് ചെയുനത്.
02:12 a യും b യും പ്രൈവറ്റ് മെംബേർസ്സാണ്.
02:15 പ്രൈവറ്റ് മെംബേർസ്നെ ആക്സെസ് ചെയാൻ നമ്മൾ x അതുപോലെ y ഉപയോഗിക്കുന്നു.
02:19 പിന്നീട് “’ഡിസ്റ്റ്ര് ക്ക്റ്റേർനെ”’ ആക്സെസ് ചെയുന്നു.
02:21 ഇവിടെ നമ്മൾ “memory deallocation” എന്ന് പ്രിൻറ് ചെയുന്നു.
02:25 ഇത് നമ്മുടെ “main function” ആണ്.
02:28 ഇവിടെ നമ്മൾ “addition” ക്ലാസിന് “obj” എന്ന ഒബ്ജെക്റ്റ് നിർമിക്കുന്നു.
02:32 “’3’”, “4’” എന്ന രണ്ട് ആർഗ്യമൻറ്റ്സ് പാസ്‌ ചെയ്യുന്നു.
02:36 “’മൂന്ന്”’ ‘” x’” ലും “’ നാല് ‘” “’y”’ ലും സൂക്ഷിച്ചിരിക്കുന്നു.
02:40 ഇത് അര്‍ത്ഥമാക്കുനത് “a” യുടെ വില “3” ഉം “b” യുടെ വില “4” ഉം എന്നാണ്.
02:45 ആർഗ്യമൻറ്റ്സ് ഉള്ള കൻസ്റ്റ്റക്റ്റർനെ “’പാരാമീറ്ററയ്സ്ഡ് കൻസ്റ്റ്റക്റ്റർ”’ എന്ന് വിളിക്കുന്നു.
02:50 അതുകൊണ്ട് ഇത് ഒരു പാരാമീറ്ററയ്സ്ഡ് കൻസ്റ്റ്റക്റ്റർ ആകുന്നു.
02:53 ഇവിടെ നമ്മൾ “’obj”’ എന്ന ഒബ്ജെക്റ്റ് ഉപയോഗിച്ച് “’add”’ എന്ന ഫംഗ്ഷനെ വിളിക്കുന്നു.
02:58 ശേഷം “sum” പ്രിൻറ് ചെയുന്നു.
03:00 ഇത് ഒരു റിട്ടേണ്‍ സ്റ്റേറ്റ്മൻറ്റ് ആണ്.
03:02 ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം.
03:05 നിങ്ങളുടെ കീബോർഡിൽ ഒരേസമയത്ത് “’Ctrl + Alt + T”’ കീകൾ അമർത്തി ടെർമിനൽ വിൻഡോ തുറക്കുക.
03:12 കമ്പൈൽ ചെയ്യാൻ ടൈപ്പ് ചെയുക, g++ സ്പേസ് cons ഹൈഫൻ obj ഡോട്ട് cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് cons
03:21  എൻറ്റർ”’ അമർത്തുക.
03:23  ടൈപ്പ് ചെയ്യുക, ./ cons (ഡോട്ട് സ്ലാഷ് cons)
03:25  “’എൻറ്റർ”’ അമർത്തുക.
03:27 നമ്മൾ കാണുന്ന ഔട്ട്പുട്ട്:
03:29 Sum is 7 Memory Deallocation
03:33 ഇനി നമ്മുക്ക് ഡിഫോൽറ്റ് കൻസ്റ്റ്റക്റ്റർസ്സിൻറെ ഉദാഹരണം കാണാം.
03:37 നമുക്ക് പ്രോഗ്രമിലേക്ക് തിരിച്ചു പോകാം.
03:39 എഡിറ്ററിൽ ഞാൻ നേരത്തേ എഴുതിയിട്ടുള്ള കോഡ് ആണ് നമ്മൾ ഇപ്പോൾ കാണുന്നതു.
03:41 നമ്മുടെ ഫയലിൻറെ പേര് “’ഡിഫോൽറ്റ് ഡോട്ട് cpp”’.
03:45 കൻസ്റ്റ്റക്റ്റർ ക്ലാസ്സിൽ ഡിക്ലെർ ചെയ്തിട്ടിലെങ്കിൽ,
03:48 കമ്പൈലർ ക്ലാസ്സിന് ഒരു ഡിഫോൽറ്റ് കൻസ്റ്റ്റക്റ്റർ ഉളതായി അസൂമ് ചെയുന്നു.
03:53 ഞാന്‍ കോഡ് വിശദീകരിക്കാം.
03:55 ”’iostream”’ എന്നത് ഒരു ഹെഡർ ഫയൽ ആണ്.
03:58 ഇവിടെ നാം “’STD namespace”’ ഉപയോഗിക്കുന്നു.
04:02 നമ്മുക്ക് ഇവിടെ “ Subtraction എന്ന ഒരു ക്ലാസ്സുണ്ട്.
04:04 aയും bയും പബ്ലിക്‌ ആയി ഡിക്ലയര്‍ ചെയ്തിരിക്കുന്നു.
04:08 ഇവിടെ നമ്മുക്ക് sub എന്ന ഫങ്ഗ്ഷന്‍ ഉണ്ട്.
04:10 നമ്മള്‍ രണ്ട് ആര്‍ഗുമെന്‍റ്സ് “int a , int b കൊടുക്കുന്നു.
04:15 ഇത് a, b എന്ന രണ്ട് സംഖ്യകള്‍ തമ്മിലുള്ള വെത്യാസം കാണിക്കുന്നു.
04:19 ഇതാണ് defalut constructor.
04:22 ഇവിടെ നമ്മള്‍ “default constructor” നെ scope resolution operator ഉപയോഗിച്ച് ലഭ്യമാക്കുന്നു.
04:27 ഇത് നമ്മുടെ “main function” ആണ്.
04:29 ഇവിടെ നമ്മള്‍ x എന്ന വാരിയബിള്‍ ഡിഫൈന്‍ ചെയ്യുന്നു.
04:34 ഇവിടെ subtraction എന്ന ക്ലാസ്സിന് “s” എന്ന ഒബ്ജെക്റ്റ് നിര്‍മിക്കുന്നു.
04:39 തുടര്‍ന് നമ്മള്‍ sub എന്ന ഫങ്ഗ്ഷനെ “ s എന്ന ഒബ്ജെക്റ്റ് ഉപയോഗിച്ച് വിളിക്കുന്നു.
04:42 ആര്‍ഗുമെന്‍റ്സ് ആയി നമ്മള്‍ കൊടുക്കുന്നത് 8 , 4.
04:47 റിസള്‍ട്ട്‌ നമ്മള്‍ x എന്ന വാരിയബിളില്‍ സൂക്ഷിക്കുന്നു.
04:51 ഇവിടെ നമ്മള്‍ “difference” പ്രിന്‍റ് ചെയ്യുന്നു.
04:54 ഇത് ഒരു റിട്ടേണ്‍ സ്റ്റേറ്റ്മൻറ്റ് ആണ്.
04:56 ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം.
04:58 നമുക്ക് ടെർമിനൽ വിൻഡോയിലേക്ക് തിരിച്ചു പോകാം.
05:01 കമ്പൈൽ ചെയ്യാൻ  g++ സ്പേസ് default ഹൈഫൻ obj ഡോട്ട് cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് def എന്ന് എഴുതുക.
05:09  എൻറ്റർ.
05:10  ടൈപ്പ് ചെയ്യുക, ./ def (ഡോട്ട് സ്ലാഷ് def)
05:12  എൻറ്റർ.
05:14 നമ്മൾ കാണുന്ന ഔട്ട്പുട്ട്:
05:16 Difference is 4
05:18 നമുക്ക് പ്രോഗ്രമിലേക്ക് തിരിച്ചു പോകാം.
05:20 ഇവിടെ നമ്മുക്ക് കാണാം, ഫങ്ഗ്ഷനില്‍ നമ്മള്‍ കൊടുത്ത ആര്‍ഗുമെന്‍റ്സ്.
05:25 കഴിഞ്ഞ ഉദാഹരണത്തില്‍ നമ്മള്‍ കണ്ടത് “object”ല്‍ ആര്‍ഗുമെന്‍റ്സ് എങ്ങനെ കൊടുക്കാം എന്നാണ്‌.
05:30 ഇവിടെ നമ്മള്‍ കണ്ടത് “object” ഉപയോഗിച്ച് അര്‍ഗുമെന്‍റ്സ് എങ്ങനെ കൊടുക്കാം എന്നാണ്.
05:34 നമ്മുക്ക് സ്ലൈഡ്ിലേക്ക് മടങ്ങി പോകാം.
05:38 ചുരുക്കത്തിൽ, ഇവിടെ പഠിച്ചത്,
05:41 “’ കൻസ്റ്റ്റക്റ്റർസ്.ഉദാഹരണം: Addition
05:43 Parameterized Constructor.ഉദാഹരണം: Addition obj (3, 4);
05:48 “’ ഡിസ്റ്റ്ര് ക്ക്റ്റേസ്”’ഉദാഹരണം: ~Addition
05:52 Default Constructor. ഉദാഹരണം: Subtraction
05:55 നിങ്ങള്‍ ചെയേണ്ടത് : Division എന്ന പേരില്‍ ഒരു ക്ലാസ്സ്‌ നിര്‍മിക്കുക.
05:59 ക്ലാസ്സിന് “constructor” നിര്‍മിക്കുക.
06:01 നമ്മള്‍ കൊടുക്കുന്ന രണ്ട് സംഖ്യകളെ ഡിവയ്ഡ് ചെയ്യാന്‍ divide എന്ന ഒരു ഫങ്ഗ്ഷന്‍ നിര്‍മിക്കുക.
06:06 താഴെ കാണിച്ചിരിക്കുന്ന ലിങ്കിൽ ലഭ്യമായ വീഡിയോ കാണുക.
06:09 ഇത് സ്പോക്കണ് ട്യൂട്ടോറിയൽ പ്രൊജക്റ്റിനെ സംഗ്രഹിക്കുന്നു.
06:11 നല്ല ബാന്ഡ് വിഡ്ത്ത് ഇല്ലെങ്കിൽ ഡൌണ്‍ലോഡ് ചെയ്ത് കാണാവുന്നതാണ്.
06:16 സ്പോക്കണ് ട്യൂട്ടോറിയൽ പ്രോജക്ട് ടീം, സ്പോക്കണ് ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് വർക്ക്ഷോപ്പുകൾ നടത്തുന്നു.
06:21 ഓൺലൈൻ ടെസ്റ്റ്‌ പാസാകുന്നവർക്ക് സർട്ടിഫിക്കറ്റുകൾ നൽകുന്നു.
06:25 കൂടുതൽ വിവരങ്ങൾക്കായി ഈ വെബ്സൈറ്റ് സന്ദർശിക്കുക.
06:31 സ്പോക്കണ് ട്യൂട്ടോറിയല് പ്രോജക്റ്റ് ടോക്ക് ടു എ ടീച്ചർ പ്രൊജക്റ്റിന്റെ ഭാഗമാണ്.
06:36 ഇതിനെ പിന്താങ്ങുന്നത് നാഷണൽ മിഷൻ ഓണ് എഡ്യൂക്കേഷൻ ത്രൂ ICT, MHRD, ഗവണ്മെന്റ് ഓഫ് ഇന്ത്യ.
06:42 ഈ മിഷൻനെ കുറിച്ചുള്ള കൂടുതൽ ഇവിടെ ലഭ്യമാണ്.
06:47 ഈ ട്യൂട്ടോറിയല്‍ വിവർത്തനം ചെയ്തത് ജെയിൻ ജോസഫ്‌. ഞാൻ ദേവി സേനൻ, IIT Bombay, നന്ദി.

Contributors and Content Editors

Devisenan, Janejoseph 15, Pratik kamble, Vijinair