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

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with " {| border=1 | '''Time''' | '''Narration''' |- | 00:01 | C++ এ Abstract Class এবং Pure Virtual Function এর টিউটোরিয়ালে আপনাদ...")
 
Line 7: Line 7:
 
|-
 
|-
 
| 00:01
 
| 00:01
|  C++ এ Abstract Class এবং Pure Virtual Function এর টিউটোরিয়ালে আপনাদের স্বাগত।
+
'''C++''' '''Abstract Class''' এবং '''Pure Virtual Function''' এর টিউটোরিয়ালে আপনাদের স্বাগত।
  
 
|-
 
|-
Line 31: Line 31:
 
|-
 
|-
 
| 00:19
 
| 00:19
| উবুন্টু OS সংস্করণ 11.10
+
| উবুন্টু '''OS''' সংস্করণ '''11.10'''
  
 
|-
 
|-
 
| 00:23
 
| 00:23
| g++ কম্পাইলার সংস্করণ 4.6.1 ব্যবহার করছি।
+
| '''g++''' কম্পাইলার সংস্করণ '''4.6.1''' ব্যবহার করছি।
  
 
|-
 
|-
 
|  00:27
 
|  00:27
|  এখন Abstract Class এর ভূমিকা দিয়ে শুরু করি।
+
|  এখন '''Abstract Class''' এর ভূমিকা দিয়ে শুরু করি।
 
|-
 
|-
 
| 00:31
 
| 00:31
| Abstract Class সর্বদা একটি '''base''' ক্লাস।
+
| '''Abstract Class''' সর্বদা একটি '''base''' ক্লাস।
  
 
|-
 
|-
 
| 00:35
 
| 00:35
|এতে অন্তত একটি Pure Virtual Function থাকে।
+
|এতে অন্তত একটি '''Pure Virtual Function''' থাকে।
  
 
|-
 
|-
 
| 00:39
 
| 00:39
|আমরা Abstract Class এর ইনস্ট্যান্স তৈরী করতে পারি না।
+
|আমরা '''Abstract Class''' এর ইনস্ট্যান্স তৈরী করতে পারি না।
  
 
|-
 
|-
 
|  00:43
 
|  00:43
| এখন Pure Virtual Function দেখি।
+
| এখন '''Pure Virtual Function''' দেখি।
  
 
|-
 
|-
 
| 00:45
 
| 00:45
|একটি Pure Virtual Function, বডি ছাড়া একটি ফাংশন।
+
|একটি '''Pure Virtual Function''', বডি ছাড়া একটি ফাংশন।
  
 
|-
 
|-
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''' তে ইনিসিয়েলাইজ করা হয়েছে।
  
 
|-
 
|-
Line 138: Line 138:
 
|-
 
|-
 
| 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'''.
  
 
|-
 
|-
 
| 02:09
 
| 02:09
|এটি বেস ক্লাস "abstractinterface" এর বৈশিষ্ট্য আহরণ করে।
+
|এটি বেস ক্লাস '''"abstractinterface"''' এর বৈশিষ্ট্য আহরণ করে।
  
 
|-
 
|-
 
| 02:14
 
| 02:14
|  এখানে আমরা "numbers" ফাংশন ওভাররাইড করি।
+
|  এখানে আমরা '''"numbers"''' ফাংশন ওভাররাইড করি।
  
 
|-
 
|-
 
| 02:18
 
| 02:18
|এতে আমরা দুটি সংখ্যা a এবং b এর যোগফল সম্পাদন করি
+
|এতে আমরা দুটি সংখ্যা '''a''' এবং '''b''' এর যোগফল সম্পাদন করি
  
 
|-
 
|-
 
| 02:21
 
| 02:21
|এবং ফলাফল ইন্টিজার ভ্যারিয়েবল "sum" এ  সংরক্ষণ করি।
+
|এবং ফলাফল ইন্টিজার ভ্যারিয়েবল '''"sum"''' এ  সংরক্ষণ করি।
  
 
|-
 
|-
Line 174: Line 174:
 
|-
 
|-
 
| 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''' এর তফাৎ নিরূপণ করি।
  
 
|-
 
|-
Line 198: Line 198:
 
|-
 
|-
 
| 02:48
 
| 02:48
|  এখানে আমরা "add" ক্লাসের obj1 হিসাবে একটি অবজেক্ট তৈরী করি।
+
|  এখানে আমরা '''"add"''' ক্লাসের '''obj1''' হিসাবে একটি অবজেক্ট তৈরী করি।
  
 
|-
 
|-
 
| 02:53
 
| 02:53
|তারপর আমরা উভয় "input" এবং "numbers" ফাংশন obj1 অবজেক্ট ব্যবহার করে কল করি।
+
|তারপর আমরা উভয় '''"input"''' এবং '''"numbers"''' ফাংশন '''obj1''' অবজেক্ট ব্যবহার করে কল করি।
  
 
|-
 
|-
 
| 02:59
 
| 02:59
|  তারপর আমরা "sub" ক্লাসের obj2 হিসাবে একটি অবজেক্ট তৈরী করি।
+
|  তারপর আমরা '''"sub"''' ক্লাসের '''obj2''' হিসাবে একটি অবজেক্ট তৈরী করি।
  
 
|-
 
|-
 
| 03:04
 
| 03:04
|এখন দুটি ফাংশন অবজেক্ট obj2 ব্যবহার করে কল করি
+
|এখন দুটি ফাংশন অবজেক্ট '''obj2''' ব্যবহার করে কল করি
  
 
|-
 
|-
Line 222: Line 222:
 
|-
 
|-
 
| 03:13
 
| 03:13
|  আপনার কীবোর্ডে Ctrl, Alt এবং T একসাথে টিপে টার্মিনাল উইন্ডো খুলুন।
+
|  আপনার কীবোর্ডে '''Ctrl, Alt''' এবং '''T''' একসাথে টিপে টার্মিনাল উইন্ডো খুলুন।
  
 
|-
 
|-
 
| 03:21
 
| 03:21
|  কম্পাইল করতে লিখুন, g++ স্পেস abstract ডট cpp স্পেস -o স্পেস abs
+
|  কম্পাইল করতে লিখুন, '''g++''' স্পেস '''abstract''' ডট '''cpp''' স্পেস '''-o''' স্পেস '''abs'''
  
 
|-
 
|-
 
| 03:31
 
| 03:31
|Enter টিপুন।
+
| '''Enter''' টিপুন।
  
 
|-
 
|-
 
| 03:32
 
| 03:32
|লিখুন, ডট স্ল্যাশ abs
+
|লিখুন, ডট স্ল্যাশ '''abs'''
  
 
|-
 
|-
 
| 03:34
 
| 03:34
|Enter টিপুন।
+
| '''Enter''' টিপুন।
  
 
|-
 
|-
 
| 03:36
 
| 03:36
|  এটি Enter the numbers হিসাবে প্রদর্শিত হয়েছে।
+
|  এটি '''Enter the numbers''' হিসাবে প্রদর্শিত হয়েছে।
  
 
|-
 
|-
 
| 03:38
 
| 03:38
|আমি 9 এবং 4 লিখব।
+
|আমি '''9''' এবং '''4''' লিখব।
  
 
|-
 
|-
 
| 03:42
 
| 03:42
|প্রদর্শিত আউটপুট হল Sum is 13
+
|প্রদর্শিত আউটপুট হল '''Sum is 13'''
  
 
|-
 
|-
 
| 03:46
 
| 03:46
|আবার আমরা দেখি Enter the numbers.
+
|আবার আমরা দেখি '''Enter the numbers'''.
  
 
|-
 
|-
 
| 03:49
 
| 03:49
|আমি 8 এবং 3 লিখব।
+
|আমি '''8''' এবং '''3''' লিখব।
  
 
|-
 
|-
 
| 03:52
 
| 03:52
|প্রদর্শিত আউটপুট হল diff is 5
+
|প্রদর্শিত আউটপুট হল '''diff is 5'''
  
 
|-
 
|-
Line 282: Line 282:
 
|-
 
|-
 
| 04:04
 
| 04:04
| Abstract Class উদাহরণস্বরূপ class abstractinterface
+
| '''Abstract Clas's''' উদাহরণস্বরূপ '''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" তৈরী করুন।
+
|  এখন, একটি '''abstract class "student"''' তৈরী করুন।
  
 
|-
 
|-
 
| 04:17
 
| 04:17
| একটি Pure Virtual Function "Info" তৈরী করুন।  
+
| একটি '''Pure Virtual Function "Info"''' তৈরী করুন।  
  
 
|-
 
|-
Line 302: Line 302:
 
|-
 
|-
 
| 04:25
 
| 04:25
| দুটি ডিরাইভড ক্লাস marks এবং sports তৈরী করুন।
+
| দুটি ডিরাইভড ক্লাস '''marks''' এবং '''sports''' তৈরী করুন।
  
 
|-
 
|-
 
| 04:29
 
| 04:29
|marks এ, তিনটি বিষয়ের মার্কস গ্রহণ করুন।
+
|'''marks''' এ, তিনটি বিষয়ের মার্কস গ্রহণ করুন।
  
 
|-
 
|-
 
| 04:32
 
| 04:32
|sports এ, খেলায় প্রাপ্ত মার্কস গ্রহণ করুন।
+
|'''sports''' এ, খেলায় প্রাপ্ত মার্কস গ্রহণ করুন।
  
 
|-
 
|-
Line 318: Line 318:
 
|-
 
|-
 
| 04:38
 
| 04:38
|তারপর আরেকটি ডিরাইভড ক্লাস result তৈরী করুন।
+
|তারপর আরেকটি ডিরাইভড ক্লাস '''result''' তৈরী করুন।
  
 
|-
 
|-
Line 346: Line 346:
 
|-
 
|-
 
| 05:07
 
| 05:07
|বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
+
|বিস্তারিত তথ্যের জন্য '''contact@spoken-tutorial.org''' তে ইমেল করুন।
  
 
|-
 
|-
 
| 05:14  
 
| 05:14  
|  স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ।
+
|  স্পোকেন টিউটোরিয়াল '''Talk to a Teacher''' প্রকল্পের অংশবিশেষ।
  
 
|-
 
|-
 
| 05:18
 
| 05:18
|এটি ভারত সরকারের ICT, MHRD এর জাতীয় সাক্ষরতা মিশন দ্বারা সমর্থিত।
+
|এটি ভারত সরকারের '''ICT, MHRD''' এর জাতীয় সাক্ষরতা মিশন দ্বারা সমর্থিত।
  
 
|-
 
|-

Revision as of 11:36, 1 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 একটি Pure Virtual Function, বডি ছাড়া একটি ফাংশন।
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 এবং ab হিসাবে দুটি ইন্টিজার ভ্যারিয়েবল রয়েছে।
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 তারপর আমরা উভয় "input" এবং "numbers" ফাংশন 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 Clas's উদাহরণস্বরূপ class abstractinterface
04:09 Pure Virtual Function উদাহরণস্বরূপ virtual void numbers()=0;
04:14 এখন, একটি abstract class "student" তৈরী করুন।
04:17 একটি Pure Virtual Function "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