Difference between revisions of "Advanced-Cpp/C2/Abstract-Class/Marathi"
From Script | Spoken-Tutorial
(Created page with ''''Title of script''': Abstract-Class '''Author: Manali Ranade''' '''Keywords: Advanced-C++''' {| border=1 !Time !Narration |- | 00:01 | '''C++ मधील abstra…') |
PoojaMoolya (Talk | contribs) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| border=1 | {| border=1 | ||
− | + | |'''Time''' | |
− | + | |'''Narration''' | |
− | + | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | '''C++ मधील abstract class आणि pure virtual function वरील पाठात आपले स्वागत. | + | | '''C++''' मधील '''abstract class''' आणि '''pure virtual function''' वरील पाठात आपले स्वागत. |
|- | |- | ||
Line 22: | Line 13: | ||
|- | |- | ||
| 00:10 | | 00:10 | ||
− | | | + | | अॅबस्ट्रॅक्ट क्लास , प्युअर व्हर्च्युअल फंक्शन |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 38: | Line 25: | ||
|- | |- | ||
| 00:19 | | 00:19 | ||
− | | ''' | + | | उबंटु '''OS''' वर्जन '''11.10''' आणि |
|- | |- | ||
| 00:23 | | 00:23 | ||
− | | '''g++ compiler '''वर्जन 4.6.1 वापरू. | + | | '''g++ compiler''' वर्जन '''4.6.1''' वापरू. |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 00:27 | | 00:27 | ||
− | | | + | | प्रथम अॅबस्ट्रॅक्ट क्लासबद्दल जाणून घेऊ. |
|- | |- | ||
| 00:31 | | 00:31 | ||
− | | | + | | अॅबस्ट्रॅक्ट क्लास हा नेहमीच बेस क्लास असतो. |
|- | |- | ||
| 00:35 | | 00:35 | ||
− | | | + | | त्यामधे किमान एक तरी प्युअर व्हर्च्युअल फंक्शन समाविष्ट असते. |
|- | |- | ||
| 00:39 | | 00:39 | ||
− | | | + | | अॅबस्ट्रॅक्ट क्लासचा इन्स्टन्स बनवता येत नाही. |
|- | |- | ||
| 00:43 | | 00:43 | ||
− | | | + | | आता प्युअर व्हर्च्युअल फंक्शन पाहू. |
|- | |- | ||
| 00:45 | | 00:45 | ||
− | | | + | | प्युअर व्हर्च्युअल फंक्शनला स्वतःची बॉडी नसते. |
|- | |- | ||
| 00:49 | | 00:49 | ||
− | | | + | | हे बेस क्लासमधे डिफाईन करता येत नाही. |
|- | |- | ||
Line 85: | Line 69: | ||
|- | |- | ||
| 01:00 | | 01:00 | ||
− | | '''derived क्लास'''ने हे '''फंक्शन '''ओव्हरराईड करणे आवश्यक असते. | + | | '''derived क्लास''' ने हे '''फंक्शन ''' ओव्हरराईड करणे आवश्यक असते. |
|- | |- | ||
| 01:04 | | 01:04 | ||
− | | | + | | अन्यथा कंपाईलर एरर देतो. |
|- | |- | ||
| 01:07 | | 01:07 | ||
− | | '''derived क्लासमधे फंक्शनची''' कार्यवाही सांगितलेली असते. | + | | '''derived''' क्लासमधे '''फंक्शनची''' कार्यवाही सांगितलेली असते. |
|- | |- | ||
Line 109: | Line 93: | ||
|- | |- | ||
| 01:18 | | 01:18 | ||
− | | '''abstract.cpp | + | | '''abstract.cpp''' हे फाईलनेम आहे. |
|- | |- | ||
Line 121: | Line 105: | ||
|- | |- | ||
| 01:30 | | 01:30 | ||
− | | ''' | + | | '''iostream''' ही हेडर फाईल आहे. |
|- | |- | ||
| 01:33 | | 01:33 | ||
− | | ''' | + | | येथे '''std namespace''' वापरू. |
|- | |- | ||
| 01:36 | | 01:36 | ||
− | | येथे ''' | + | | येथे '''abstractinterface''' क्लास घोषित केला आहे. |
|- | |- | ||
| 01:41 | | 01:41 | ||
− | | | + | | आपल्याकडे पब्लिक स्पेसीफायर आहे. |
|- | |- | ||
| 01:44 | | 01:44 | ||
− | | यात '''"numbers" नावाचे वर्च्युअल फंक्शन घोषित करून, | + | | यात '''"numbers"''' नावाचे वर्च्युअल फंक्शन घोषित करून, |
|- | |- | ||
| 01:49 | | 01:49 | ||
− | | त्याला '''0 | + | | त्याला '''0''' ही प्राथमिक व्हॅल्यू दिली. |
|- | |- | ||
| 01:51 | | 01:51 | ||
− | | | + | | आपल्याकडे एक नॉन-वर्च्युअल फंक्शन आहे. |
|- | |- | ||
| 01:55 | | 01:55 | ||
− | | '''a''' आणि ''' | + | | '''a''' आणि '''b''' ही दोन इंटिजर व्हेरिएबल्स आहेत. |
|- | |- | ||
| 01:59 | | 01:59 | ||
− | | ''' | + | | येथे '''input''' फंक्शन अॅक्सेस करू. |
|- | |- | ||
| 02:01 | | 02:01 | ||
− | | ह्यात '''a''' आणि ''' | + | | ह्यात '''a''' आणि '''b''' च्या व्हॅल्यूज घेऊ. |
|- | |- | ||
| 02:05 | | 02:05 | ||
− | | हा '''add नावाचा derived | + | | हा '''add''' नावाचा '''derived''' क्लास आहे. |
|- | |- | ||
| 02:09 | | 02:09 | ||
− | | ''' | + | | त्याला '''"abstractinterface"''' ह्या बेस क्लासचे गुणधर्म मिळाले आहेत. |
|- | |- | ||
| 02:14 | | 02:14 | ||
− | | ''' | + | | येथे '''"numbers"''' हे फंक्शन ओव्हरराईड करू. |
|- | |- | ||
| 02:18 | | 02:18 | ||
− | | ह्यात'''a''' आणि' '''b''' ह्या दोन संख्यांची बेरीज करू. | + | | ह्यात '''a''' आणि' '''b''' ह्या दोन संख्यांची बेरीज करू. |
|- | |- | ||
| 02:21 | | 02:21 | ||
− | | आणि तो रिझल्ट '''"sum"' या इंटिजर व्हेरिएबलमधे संचित करू. | + | | आणि तो रिझल्ट '''"sum"''' या इंटिजर व्हेरिएबलमधे संचित करू. |
|- | |- | ||
Line 185: | Line 169: | ||
|- | |- | ||
| 02:27 | | 02:27 | ||
− | | येथे '''sub''' हा आणखी | + | | येथे '''sub''' हा आणखी एक '''derived''' क्लास आहे. |
|- | |- | ||
| 02:31 | | 02:31 | ||
− | | त्यालाही | + | | त्यालाही '''"abstractinterface"''' ह्या बेस क्लासचा वारसा मिळाला आहे. |
|- | |- | ||
| 02:35 | | 02:35 | ||
− | | त्यामधे पुन्हा "numbers" हे फंक्शन ओव्हरराईड करू. | + | | त्यामधे पुन्हा '''"numbers"''' हे फंक्शन ओव्हरराईड करू. |
|- | |- | ||
Line 205: | Line 189: | ||
|- | |- | ||
| 02:45 | | 02:45 | ||
− | | हे '''main | + | | हे '''main''' फंक्शन आहे. |
|- | |- | ||
| 02:48 | | 02:48 | ||
− | | येथे '''obj1''' हे "add" फंक्शनचे ऑब्जेक्ट बनवले आहे. | + | | येथे '''obj1''' हे '''"add"''' फंक्शनचे ऑब्जेक्ट बनवले आहे. |
|- | |- | ||
| 02:53 | | 02:53 | ||
− | | '''obj1''' ऑब्जेक्ट द्वारे "input" आणि "numbers" ही फंक्शन्स कॉल करू. | + | | '''obj1''' ऑब्जेक्ट द्वारे '''"input"''' आणि '''"numbers"''' ही फंक्शन्स कॉल करू. |
|- | |- | ||
| 02:59 | | 02:59 | ||
− | | '''obj2''' हे "sub" ह्या क्लासचे आणखी एक ऑब्जेक्ट बनवले आहे. | + | | '''obj2''' हे '''"sub"''' ह्या क्लासचे आणखी एक ऑब्जेक्ट बनवले आहे. |
|- | |- | ||
| 03:04 | | 03:04 | ||
− | | पुन्हा obj2 ह्या ऑब्जेक्ट द्वारे दोन्ही फंक्शन्स कॉल करू. | + | | पुन्हा '''obj2''' ह्या ऑब्जेक्ट द्वारे दोन्ही फंक्शन्स कॉल करू. |
|- | |- | ||
| 03:08 | | 03:08 | ||
− | | हे | + | | हे रिटर्न स्टेटमेंट आहे . |
|- | |- | ||
Line 237: | Line 221: | ||
|- | |- | ||
| 03:21 | | 03:21 | ||
− | | कंपाईल करण्यासाठी टाईप करा: | + | | कंपाईल करण्यासाठी टाईप करा: '''g++ space abstract dot cpp space hyphen o space abs''' |
− | + | ||
− | '''g++ space abstract dot cpp space hyphen o space abs''' | + | |
|- | |- | ||
| 03:31 | | 03:31 | ||
− | | एंटर दाबा | + | | एंटर दाबा, टाईप करा: '''dot slash abs''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 257: | Line 233: | ||
|- | |- | ||
| 03:36 | | 03:36 | ||
− | | असे दिसेलः | + | | असे दिसेलः '''Enter the numbers''' |
− | + | ||
− | '''Enter the numbers''' | + | |
|- | |- | ||
Line 271: | Line 245: | ||
|- | |- | ||
| 03:46 | | 03:46 | ||
− | | '''Enter the numbers | + | | '''Enter the numbers''' असे दिसेल. |
|- | |- | ||
| 03:49 | | 03:49 | ||
− | | ''' | + | | मी '''8''' आणि '''3''' देत आहे. |
|- | |- | ||
Line 295: | Line 269: | ||
|- | |- | ||
| 04:03 | | 04:03 | ||
− | | या पाठात शिकलो, | + | | या पाठात शिकलो,'''अॅबस्ट्रॅक्ट क्लास''' '''उदा. क्लास abstractinterface''' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 307: | Line 277: | ||
|- | |- | ||
| 04:14 | | 04:14 | ||
− | | असाईनमेंट म्हणून | + | | असाईनमेंट म्हणून '''student''' हा अॅबस्ट्रॅक्ट क्लास बनवा. |
− | + | ||
− | '''student''' हा अॅबस्ट्रॅक्ट क्लास बनवा. | + | |
|- | |- | ||
Line 321: | Line 289: | ||
|- | |- | ||
| 04:25 | | 04:25 | ||
− | | '''marks''' आणि '''sports''' हे | + | | '''marks''' आणि '''sports''' हे दोन derived क्लास बनवा. |
|- | |- | ||
| 04:29 | | 04:29 | ||
− | | | + | | marks मधे तीन विषयांचे मार्क्स स्वीकारा. |
|- | |- | ||
Line 337: | Line 305: | ||
|- | |- | ||
| 04:38 | | 04:38 | ||
− | | नंतर | + | | नंतर रिझल्ट हा आणखी '''derived''' क्लास बनवा. |
|- | |- |
Latest revision as of 11:45, 11 April 2017
Time | Narration |
00:01 | C++ मधील abstract class आणि pure virtual function वरील पाठात आपले स्वागत. |
00:08 | यात शिकणार आहोत, |
00:10 | अॅबस्ट्रॅक्ट क्लास , प्युअर व्हर्च्युअल फंक्शन |
00:13 | उदाहरणाच्या सहाय्याने हे बघू. |
00:16 | ह्या पाठासाठी, |
00:19 | उबंटु OS वर्जन 11.10 आणि |
00:23 | g++ compiler वर्जन 4.6.1 वापरू. |
00:27 | प्रथम अॅबस्ट्रॅक्ट क्लासबद्दल जाणून घेऊ. |
00:31 | अॅबस्ट्रॅक्ट क्लास हा नेहमीच बेस क्लास असतो. |
00:35 | त्यामधे किमान एक तरी प्युअर व्हर्च्युअल फंक्शन समाविष्ट असते. |
00:39 | अॅबस्ट्रॅक्ट क्लासचा इन्स्टन्स बनवता येत नाही. |
00:43 | आता प्युअर व्हर्च्युअल फंक्शन पाहू. |
00:45 | प्युअर व्हर्च्युअल फंक्शनला स्वतःची बॉडी नसते. |
00:49 | हे बेस क्लासमधे डिफाईन करता येत नाही. |
00:52 | हे असे घोषित करतातः |
00:54 | virtual void virtualfunname()=0; |
01:00 | derived क्लास ने हे फंक्शन ओव्हरराईड करणे आवश्यक असते. |
01:04 | अन्यथा कंपाईलर एरर देतो. |
01:07 | derived क्लासमधे फंक्शनची कार्यवाही सांगितलेली असते. |
01:11 | त्याचे उदाहरण पाहू. |
01:13 | मी एडिटरमधे कोड टाईप करून ठेवला आहे. |
01:16 | तो उघडू. |
01:18 | abstract.cpp हे फाईलनेम आहे. |
01:22 | ह्या उदाहरणात दोन संख्यांची बेरीज आणि वजाबाकी समाविष्ट आहे. |
01:28 | कोड समजून घेऊ. |
01:30 | iostream ही हेडर फाईल आहे. |
01:33 | येथे std namespace वापरू. |
01:36 | येथे abstractinterface क्लास घोषित केला आहे. |
01:41 | आपल्याकडे पब्लिक स्पेसीफायर आहे. |
01:44 | यात "numbers" नावाचे वर्च्युअल फंक्शन घोषित करून, |
01:49 | त्याला 0 ही प्राथमिक व्हॅल्यू दिली. |
01:51 | आपल्याकडे एक नॉन-वर्च्युअल फंक्शन आहे. |
01:55 | a आणि b ही दोन इंटिजर व्हेरिएबल्स आहेत. |
01:59 | येथे input फंक्शन अॅक्सेस करू. |
02:01 | ह्यात a आणि b च्या व्हॅल्यूज घेऊ. |
02:05 | हा add नावाचा derived क्लास आहे. |
02:09 | त्याला "abstractinterface" ह्या बेस क्लासचे गुणधर्म मिळाले आहेत. |
02:14 | येथे "numbers" हे फंक्शन ओव्हरराईड करू. |
02:18 | ह्यात a आणि' b ह्या दोन संख्यांची बेरीज करू. |
02:21 | आणि तो रिझल्ट "sum" या इंटिजर व्हेरिएबलमधे संचित करू. |
02:25 | नंतर रिझल्ट प्रिंट करू. |
02:27 | येथे sub हा आणखी एक derived क्लास आहे. |
02:31 | त्यालाही "abstractinterface" ह्या बेस क्लासचा वारसा मिळाला आहे. |
02:35 | त्यामधे पुन्हा "numbers" हे फंक्शन ओव्हरराईड करू. |
02:39 | येथे a आणि b ह्या दोन संख्यांमधील फरक काढू. |
02:43 | नंतर तो प्रिंट करू. |
02:45 | हे main फंक्शन आहे. |
02:48 | येथे obj1 हे "add" फंक्शनचे ऑब्जेक्ट बनवले आहे. |
02:53 | obj1 ऑब्जेक्ट द्वारे "input" आणि "numbers" ही फंक्शन्स कॉल करू. |
02:59 | obj2 हे "sub" ह्या क्लासचे आणखी एक ऑब्जेक्ट बनवले आहे. |
03:04 | पुन्हा obj2 ह्या ऑब्जेक्ट द्वारे दोन्ही फंक्शन्स कॉल करू. |
03:08 | हे रिटर्न स्टेटमेंट आहे . |
03:10 | प्रोग्रॅम कार्यान्वित करू. |
03:13 | टर्मिनल उघडण्यासाठी Ctrl, Alt आणि T की एकत्रितपणे दाबा. |
03:21 | कंपाईल करण्यासाठी टाईप करा: g++ space abstract dot cpp space hyphen o space abs |
03:31 | एंटर दाबा, टाईप करा: dot slash abs |
03:34 | एंटर दाबा. |
03:36 | असे दिसेलः Enter the numbers |
03:38 | मी 9 आणि 4 देत आहे. |
03:42 | Sum is 13 असे आऊटपुट दिसेल. |
03:46 | Enter the numbers असे दिसेल. |
03:49 | मी 8 आणि 3 देत आहे. |
03:52 | Diff is 5 असे आऊटपुट दिसेल. |
03:56 | आपण पाठाच्या अंतिम टप्प्यात आहोत. |
03:59 | स्लाईडसवर जाऊ. |
04:01 | थोडक्यात, |
04:03 | या पाठात शिकलो,अॅबस्ट्रॅक्ट क्लास उदा. क्लास abstractinterface |
04:09 | प्युअर व्हर्च्युअल फंक्शन उदा. virtual void numbers()=0; |
04:14 | असाईनमेंट म्हणून student हा अॅबस्ट्रॅक्ट क्लास बनवा. |
04:17 | Info हे प्युअर व्हर्च्युअल फंक्शन बनवा. |
04:20 | फंक्शन मधे विद्यार्थ्याचे नाव व रोल नंबर घ्या. |
04:25 | marks आणि sports हे दोन derived क्लास बनवा. |
04:29 | marks मधे तीन विषयांचे मार्क्स स्वीकारा. |
04:32 | sports मधे खेळात मिळवलेले मार्क्स स्वीकारा. |
04:35 | सर्व मार्कांची बेरीज करा. |
04:38 | नंतर रिझल्ट हा आणखी derived क्लास बनवा. |
04:41 | ह्यात विद्यार्थ्याचे नाव व रोल नंबर आणि एकूण मार्क्स दाखवा. |
04:47 | स्क्रीनवर दिसत असलेल्या लिंकवर उपलब्ध असलेला व्हिडिओ बघा. |
04:50 | ज्यामध्ये तुम्हाला प्रॉजेक्टचा सारांश मिळेल. |
04:53 | जर तुमच्याकडे चांगली Bandwidth नसेल तर आपण व्हिडिओ download करूनही पाहू शकता. |
04:58 | स्पोकन ट्युटोरियल प्रॉजेक्ट टीम, Spoken Tutorial च्या सहाय्याने कार्यशाळा चालविते. |
05:03 | परीक्षा उत्तीर्ण होणा-या विद्यार्थ्यांना प्रमाणपत्रही दिले जाते. |
05:07 | अधिक माहितीसाठी कृपया contact [at] spoken hyphen tutorial dot org वर लिहा. |
05:14 | "स्पोकन ट्युटोरियल प्रॉजेक्ट" हे "टॉक टू टीचर" या प्रॉजेक्टचा भाग आहे. |
05:18 | यासाठी अर्थसहाय्य National Mission on Education through ICT, MHRD, Government of India यांच्याकडून मिळालेले आहे. |
05:25 | यासंबंधी माहिती पुढील साईटवर उपलब्ध आहे. |
05:30 | ह्या ट्युटोरियलचे भाषांतर मनाली रानडे यांनी केले असून मी ------- आपला निरोप घेते . धन्यवाद. |