Difference between revisions of "Advanced-Cpp/C2/Constructor-And-Destructor/Malayalam"
From Script | Spoken-Tutorial
(One intermediate revision by one other user not shown) | |||
Line 14: | Line 14: | ||
|- | |- | ||
| 00:09 | | 00:09 | ||
− | | | + | | കൻസ്റ്റ്റക്റ്റർസ് വിവിധ തരത്തിലുള്ള കൻസ്റ്റ്റക്റ്റർസ് |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 00:12 | | 00:12 | ||
− | | ''' ഡിസ്റ്റ്ര് ക്ക്റ്റേസ്.''' | + | | ''' ഡിസ്റ്റ്ര് ക്ക്റ്റേസ്.'''നമുക്ക് ചില ഉദാഹരണങ്ങളുടെ സഹായത്തോടെ ഇത് ചെയ്യാം. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 70: | Line 62: | ||
|- | |- | ||
| 00:49 | | 00:49 | ||
− | | '''കോപ്പി കൻസ്റ്റ്റക്റ്റർസ്, അതുപോലെ''' | + | | '''കോപ്പി കൻസ്റ്റ്റക്റ്റർസ്, അതുപോലെ''' '''ഡിഫോൽറ്റ് കൻസ്റ്റ്റക്റ്റർസ്.''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- |
Latest revision as of 12:59, 23 March 2017
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, നന്ദി. |