Difference between revisions of "Advanced-Cpp/C2/Abstract-Class/Bengali"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 11: Line 11:
 
|-
 
|-
 
| 00:08  
 
| 00:08  
| এই টিউটোরিয়ালে আমরা শিখব,
+
| এই টিউটোরিয়ালে শিখব,
  
 
|-
 
|-
Line 23: Line 23:
 
|-
 
|-
 
| 00:13
 
| 00:13
| আমরা এটি একটি উদাহরণ দ্বারা করব।
+
| এটি উদাহরণের সাহায্যে করব।
  
 
|-
 
|-
Line 39: Line 39:
 
|-
 
|-
 
|  00:27
 
|  00:27
এখন '''Abstract Class''' এর ভূমিকা দিয়ে শুরু করি।
+
|  '''Abstract Class''' এর ভূমিকা দিয়ে শুরু করি।
 
|-
 
|-
 
| 00:31
 
| 00:31
| '''Abstract Class''' সর্বদা একটি '''base''' ক্লাস।
+
| '''Abstract Class''' একটি '''base''' ক্লাস।
  
 
|-
 
|-
Line 50: Line 50:
 
|-
 
|-
 
| 00:39
 
| 00:39
|আমরা '''Abstract Class''' এর ইনস্ট্যান্স তৈরী করতে পারি না।
+
| '''Abstract Class''' এর ইনস্ট্যান্স তৈরী করতে পারি না।
  
 
|-
 
|-
Line 58: Line 58:
 
|-
 
|-
 
| 00:45
 
| 00:45
|একটি '''Pure Virtual Function''', বডি ছাড়া একটি ফাংশন।
+
| এটি বডি ছাড়া একটি ফাংশন।
  
 
|-
 
|-
Line 66: Line 66:
 
|-
 
|-
 
| 00:52
 
| 00:52
|এটি নিম্নরূপে ঘোষিত হয়েছে:
+
|এটি নিম্নরূপে ঘোষিত:
  
 
|-
 
|-
Line 74: Line 74:
 
|-
 
|-
 
| 01:00
 
| 01:00
|একটি ডিরাইভ ক্লাসের ফাংশন ওভাররাইড করা আবশ্যক।
+
|একটি ডিরাইভ ফাংশন ওভাররাইড করা আবশ্যক।
  
 
|-
 
|-
 
| 01:04
 
| 01:04
|অন্যথায় কম্পাইলার একটি এরর দেবে।
+
| না হলে কম্পাইলার এরর দেবে।
  
 
|-
 
|-
 
| 01:07
 
| 01:07
|ফাংশন বাস্তবায়ন করতে এটি ডিরাইভ ক্লাসের উপর নির্ভর।
+
| এটি ডিরাইভ ক্লাসের উপর নির্ভরশীল।
  
 
|-
 
|-
Line 90: Line 90:
 
|-
 
|-
 
| 01:13
 
| 01:13
|আমি ইতিমধ্যে এডিটরে কোড লিখেছি।
+
|আমি এডিটরে কোড লিখেছি।
  
 
|-
 
|-
Line 98: Line 98:
 
|-
 
|-
 
| 01:18
 
| 01:18
|উল্লেখ্য যে আমাদের ফাইলের নাম '''abstract''' ডট '''cpp'''
+
| আমাদের ফাইলের নাম '''abstract''' ডট '''cpp'''
  
 
|-
 
|-
Line 110: Line 110:
 
|-
 
|-
 
| 01:30
 
| 01:30
|  '''iostream''' হিসেবে এটি আমাদের হেডার ফাইল।
+
|  '''iostream''' হিসেবে এটি হেডার ফাইল।
  
 
|-
 
|-
 
| 01:33
 
| 01:33
| এখানে আমরা '''std namespace''' ব্যবহার করছি।
+
| '''std namespace''' ব্যবহার করছি।
  
 
|-
 
|-
 
| 01:36
 
| 01:36
এটি ক্লাসের জন্য ঘোষনাকরণ যা হল '''abstractinterface'''
+
|  ক্লাসের ঘোষনাকরণ হল '''abstractinterface'''
  
 
|-
 
|-
 
| 01:41
 
| 01:41
তারপর আমাদের কাছে '''public''' স্পেসিফায়ার রয়েছে।
+
এরপর '''public''' রয়েছে।
  
 
|-
 
|-
 
| 01:44
 
| 01:44
|  এখানে আমরা একটি ভার্চুয়াল ফাংশন ঘোষিত করেছি যা হল '''"numbers"'''.
+
|  এখানে ভার্চুয়াল ফাংশন ঘোষিত করেছি যা হল '''"numbers"'''.
  
 
|-
 
|-
 
| 01:49
 
| 01:49
|এটি '''0''' তে ইনিসিয়েলাইজ করা হয়েছে।
+
| এর মান হল '''0'''
  
 
|-
 
|-
 
| 01:51
 
| 01:51
| তারপর আমাদের কাছে একটি নন-ভার্চুয়াল ফাংশন রয়েছে
+
| এরপর নন-ভার্চুয়াল ফাংশন রয়েছে
  
 
|-
 
|-
 
| 01:55
 
| 01:55
|এবং '''a''' '''b''' হিসাবে দুটি ইন্টিজার ভ্যারিয়েবল রয়েছে।
+
| দুটি ইন্টিজার ভ্যারিয়েবল'''a''' এবং '''b''' রয়েছে।
  
 
|-
 
|-
 
| 01:59
 
| 01:59
| এখানে আমরা '''input''' ফাংশন অ্যাক্সেস করি।
+
| এখানে '''input''' ফাংশনে
  
 
|-
 
|-
 
| 02:01
 
| 02:01
|এতে আমরা সংখ্যা '''a''' এবং '''b''' গ্রহণ করি।
+
| আমরা সংখ্যা '''a''' এবং '''b''' গ্রহণ করি।
  
 
|-
 
|-
 
|  02:05
 
|  02:05
| এটি একটি ডিরাইভড ক্লাস যা হল '''add'''.
+
| এটি '''add''' নামে একটি ডিরাইভড ক্লাস।
  
 
|-
 
|-
Line 158: Line 158:
 
|-
 
|-
 
| 02:14
 
| 02:14
|  এখানে আমরা '''"numbers"''' ফাংশন ওভাররাইড করি।
+
|  এখানে '''"numbers"''' ফাংশন ওভাররাইড করি।
  
 
|-
 
|-
 
| 02:18
 
| 02:18
|এতে আমরা দুটি সংখ্যা '''a''' এবং '''b''' এর যোগফল সম্পাদন করি
+
| এখানে '''a''' এবং '''b''' যোগ করে।
  
 
|-
 
|-
 
| 02:21
 
| 02:21
|এবং ফলাফল ইন্টিজার ভ্যারিয়েবল '''"sum"''' এ  সংরক্ষণ করি।
+
| ফলাফল ইন্টিজার ভ্যারিয়েবল '''"sum"''' এ  সংরক্ষণ করি।
  
 
|-
 
|-
 
| 02:25
 
| 02:25
|তারপর ফলাফল প্রিন্ট করি।
+
| ফলাফল প্রিন্ট করি।
  
 
|-
 
|-
 
| 02:27
 
| 02:27
| এখানে '''sub''' নাম আরেকটি ডিরাইভড ক্লাস রয়েছে।
+
| এরপর '''sub''' নামে ডিরাইভ ক্লাস রয়েছে।
  
 
|-
 
|-
 
| 02:31
 
| 02:31
|এটিও বেস ক্লাস '''"abstractinterface"''' আহরণ করে।
+
|এটি বেস ক্লাস '''"abstractinterface"''' এর বৈশিষ্ট্য আহরণ করে।
  
 
|-
 
|-
 
|  02:35
 
|  02:35
| এখানে, আবার আমরা '''"numbers"''' ফাংশন ওভাররাইড করি
+
| এখানে, '''"numbers"''' ফাংশন ওভাররাইড করি
  
 
|-
 
|-
 
| 02:39
 
| 02:39
|এবং এখানে আমরা দুটি সংখ্যা '''a''' এবং '''b''' এর তফাৎ নিরূপণ করি।
+
| এখানে '''a''' এবং '''b''' এর তফাৎ নিরূপণ করে
  
 
|-
 
|-
 
| 02:43
 
| 02:43
|তারপর আমরা তফাৎ প্রিন্ট করি।
+
| ডিফারেন্স প্রিন্ট করি।
  
 
|-
 
|-
Line 198: Line 198:
 
|-
 
|-
 
| 02:48
 
| 02:48
|  এখানে আমরা '''"add"''' ক্লাসের '''obj1''' হিসাবে একটি অবজেক্ট তৈরী করি।
+
|  এখানে '''"add"''' ক্লাসের '''obj1''' হিসাবে অবজেক্ট তৈরী করি।
  
 
|-
 
|-
 
| 02:53
 
| 02:53
|তারপর আমরা উভয় '''"input"''' এবং '''"numbers"''' ফাংশন '''obj1''' অবজেক্ট ব্যবহার করে কল করি।
+
|এখানে উভয় '''obj1''' অবজেক্ট ব্যবহার করে কল করি।
  
 
|-
 
|-
 
| 02:59
 
| 02:59
তারপর আমরা '''"sub"''' ক্লাসের '''obj2''' হিসাবে একটি অবজেক্ট তৈরী করি।
+
এখানে '''"sub"''' ক্লাসের '''obj2''' হিসাবে অবজেক্ট তৈরী করি।
  
 
|-
 
|-
 
| 03:04
 
| 03:04
|এখন দুটি ফাংশন অবজেক্ট '''obj2''' ব্যবহার করে কল করি
+
| উভয় ফাংশন '''obj2''' ব্যবহার করে কল করি
  
 
|-
 
|-
 
| 03:08
 
| 03:08
এবং এটি আমাদের রিটার্ন স্টেটমেন্ট।
+
|  এটি রিটার্ন স্টেটমেন্ট।
  
 
|-
 
|-
Line 222: Line 222:
 
|-
 
|-
 
| 03:13
 
| 03:13
| আপনার কীবোর্ডে '''Ctrl, Alt''' এবং '''T''' একসাথে টিপে টার্মিনাল উইন্ডো খুলুন।
+
| কীবোর্ডে '''Ctrl, Alt''' এবং '''T''' একসাথে টিপে টার্মিনাল উইন্ডো খুলুন।
  
 
|-
 
|-
Line 242: Line 242:
 
|-
 
|-
 
| 03:36
 
| 03:36
এটি '''Enter the numbers''' হিসাবে প্রদর্শিত হয়েছে।
+
|  '''Enter the numbers'''
  
 
|-
 
|-
Line 254: Line 254:
 
|-
 
|-
 
| 03:46
 
| 03:46
|আবার আমরা দেখি '''Enter the numbers'''.
+
| '''Enter the numbers'''.
  
 
|-
 
|-
Line 282: Line 282:
 
|-
 
|-
 
| 04:04
 
| 04:04
| '''Abstract Clas's''' উদাহরণস্বরূপ '''class abstractinterface'''
+
| '''Abstract Class''' যেমন '''class abstractinterface'''
  
 
|-
 
|-
 
| 04:09
 
| 04:09
| '''Pure Virtual Function''' উদাহরণস্বরূপ '''virtual void numbers()=0;'''
+
| '''Pure Virtual Function''' যেমন '''virtual void numbers()=0;'''
  
 
|-
 
|-
 
| 04:14
 
| 04:14
|  এখন, একটি '''abstract class "student"''' তৈরী করুন।
+
|  এখন, একটি '''"student"''' ক্লাস এবং
  
 
|-
 
|-
 
| 04:17
 
| 04:17
| একটি '''Pure Virtual Function "Info"''' তৈরী করুন।  
+
| '''"Info"''' ফাংশন তৈরী করুন।  
  
 
|-
 
|-
 
| 04:20
 
| 04:20
| ফাংশনে শিক্ষার্থীর নাম এবং ক্রম সংখ্যা লিখুন।
+
| ফাংশনে শিক্ষার্থীর নাম এবং রোল নম্বর লিখুন।
  
 
|-
 
|-
 
| 04:25
 
| 04:25
| দুটি ডিরাইভড ক্লাস '''marks''' এবং '''sports''' তৈরী করুন।
+
| ক্লাস '''marks''' এবং '''sports''' তৈরী করুন।
  
 
|-
 
|-
 
| 04:29
 
| 04:29
|'''marks''' এ, তিনটি বিষয়ের মার্কস গ্রহণ করুন।
+
|'''marks''' এ, তিনটি বিষয়ের মার্কস এবং
  
 
|-
 
|-
Line 318: Line 318:
 
|-
 
|-
 
| 04:38
 
| 04:38
|তারপর আরেকটি ডিরাইভড ক্লাস '''result''' তৈরী করুন।
+
|তারপর '''result''' ক্লাস তৈরী করুন।
  
 
|-
 
|-
 
| 04:41
 
| 04:41
|এখানে, শিক্ষার্থীর নাম, ক্রম সংখ্যা এবং মার্কসের সমষ্টি প্রদর্শিত হয়।
+
|এখানে, শিক্ষার্থীর নাম, রোল নম্বর এবং মার্কসের সমষ্টি প্রদর্শিত হয়।
  
 
|-
 
|-
Line 350: Line 350:
 
|-
 
|-
 
| 05:14  
 
| 05:14  
|  স্পোকেন টিউটোরিয়াল '''Talk to a Teacher''' প্রকল্পের অংশবিশেষ।
+
|  স্পোকেন টিউটোরিয়াল প্রকল্প '''Talk to a Teacher''' প্রকল্পের অংশবিশেষ।
  
 
|-
 
|-
 
| 05:18
 
| 05:18
|এটি ভারত সরকারের '''ICT, MHRD''' এর জাতীয় সাক্ষরতা মিশন দ্বারা সমর্থিত।
+
|এটি ভারত সরকারের '''ICT, MHRD''' এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত।
  
 
|-
 
|-
Line 362: Line 362:
 
|-
 
|-
 
| 05:30
 
| 05:30
|  আমি কৌশিক দত্ত টিউটোরিয়ালটি অনুবাদ করেছি। ধন্যবাদ।
+
|  আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি।

Revision as of 23:44, 4 December 2014


Time Narration
00:01 C++Abstract Class এবং Pure Virtual Function এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:08 এই টিউটোরিয়ালে শিখব,
00:10 Abstract Classes
00:11 Pure virtual function
00:13 এটি উদাহরণের সাহায্যে করব।
00:16 টিউটোরিয়ালটি রেকর্ড করতে
00:19 উবুন্টু OS সংস্করণ 11.10
00:23 g++ কম্পাইলার সংস্করণ 4.6.1 ব্যবহার করছি।
00:27 Abstract Class এর ভূমিকা দিয়ে শুরু করি।
00:31 Abstract Class একটি base ক্লাস।
00:35 এতে অন্তত একটি Pure Virtual Function থাকে।
00:39 Abstract Class এর ইনস্ট্যান্স তৈরী করতে পারি না।
00:43 এখন Pure Virtual Function দেখি।
00:45 এটি বডি ছাড়া একটি ফাংশন।
00:49 এটি বেস ক্লাসে সংজ্ঞায়িত হয়নি।
00:52 এটি নিম্নরূপে ঘোষিত:
00:54 virtual void virtualfunname()=0;
01:00 একটি ডিরাইভ ফাংশন ওভাররাইড করা আবশ্যক।
01:04 না হলে কম্পাইলার এরর দেবে।
01:07 এটি ডিরাইভ ক্লাসের উপর নির্ভরশীল।
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 এরপর public রয়েছে।
01:44 এখানে ভার্চুয়াল ফাংশন ঘোষিত করেছি যা হল "numbers".
01:49 এর মান হল 0
01:51 এরপর নন-ভার্চুয়াল ফাংশন রয়েছে
01:55 দুটি ইন্টিজার ভ্যারিয়েবলa এবং b রয়েছে।
01:59 এখানে input ফাংশনে
02:01 আমরা সংখ্যা a এবং b গ্রহণ করি।
02:05 এটি add নামে একটি ডিরাইভড ক্লাস।
02:09 এটি বেস ক্লাস "abstractinterface" এর বৈশিষ্ট্য আহরণ করে।
02:14 এখানে "numbers" ফাংশন ওভাররাইড করি।
02:18 এখানে a এবং b যোগ করে।
02:21 ফলাফল ইন্টিজার ভ্যারিয়েবল "sum" এ সংরক্ষণ করি।
02:25 ফলাফল প্রিন্ট করি।
02:27 এরপর sub নামে ডিরাইভ ক্লাস রয়েছে।
02:31 এটি বেস ক্লাস "abstractinterface" এর বৈশিষ্ট্য আহরণ করে।
02:35 এখানে, "numbers" ফাংশন ওভাররাইড করি
02:39 এখানে a এবং b এর তফাৎ নিরূপণ করে
02:43 ডিফারেন্স প্রিন্ট করি।
02:45 এটি আমাদের main ফাংশন।
02:48 এখানে "add" ক্লাসের obj1 হিসাবে অবজেক্ট তৈরী করি।
02:53 এখানে উভয় obj1 অবজেক্ট ব্যবহার করে কল করি।
02:59 এখানে "sub" ক্লাসের obj2 হিসাবে অবজেক্ট তৈরী করি।
03:04 উভয় ফাংশন obj2 ব্যবহার করে কল করি
03:08 এটি রিটার্ন স্টেটমেন্ট।
03:10 এখন প্রোগ্রাম এক্সিকিউট করি।
03:13 কীবোর্ডে Ctrl, Alt এবং T একসাথে টিপে টার্মিনাল উইন্ডো খুলুন।
03:21 কম্পাইল করতে লিখুন, g++ স্পেস abstract ডট cpp স্পেস -o স্পেস abs
03:31 Enter টিপুন।
03:32 লিখুন, ডট স্ল্যাশ abs
03:34 Enter টিপুন।
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 এই টিউটোরিয়ালে শিখেছি:
04:04 Abstract Class যেমন class abstractinterface
04:09 Pure Virtual Function যেমন virtual void numbers()=0;
04:14 এখন, একটি "student" ক্লাস এবং
04:17 "Info" ফাংশন তৈরী করুন।
04:20 ফাংশনে শিক্ষার্থীর নাম এবং রোল নম্বর লিখুন।
04:25 ক্লাস marks এবং sports তৈরী করুন।
04:29 marks এ, তিনটি বিষয়ের মার্কস এবং
04:32 sports এ, খেলায় প্রাপ্ত মার্কস গ্রহণ করুন।
04:35 মার্কসের সমষ্টি গণনা করুন।
04:38 তারপর result ক্লাস তৈরী করুন।
04:41 এখানে, শিক্ষার্থীর নাম, রোল নম্বর এবং মার্কসের সমষ্টি প্রদর্শিত হয়।
04:47 এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন।
04:50 এটি প্রকল্পকে সারসংক্ষেপে বোঝায়।
04:53 ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন।
04:58 স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে।
05:03 অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়।
05:07 বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
05:14 স্পোকেন টিউটোরিয়াল প্রকল্প Talk to a Teacher প্রকল্পের অংশবিশেষ।
05:18 এটি ভারত সরকারের ICT, MHRD এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত।
05:25 এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।
05:30 আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি।

Contributors and Content Editors

Kaushik Datta