Advanced-Cpp/C2/Function-Overloading-And-Overriding/Oriya

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 ବନ୍ଧୁଗଣ, Function Overloading and Overriding in C++ ଉପରେ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ଵାଗତ
00:09 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ:
00:11 ଫଙ୍କଶନ୍ ଓଭରଲୋଡିଙ୍ଗ, ଫଙ୍କଶନ୍ Overriding କ’ଣ ଶିଖିବା
00:14 ଏହାକୁ ଗୋଟିଏ ଉଦାହରଣ ସାହାଯ୍ୟରେ କରନ୍ତୁ
00:18 ଏହି ଟ୍ୟୁଟୋରିଆଲକୁ ରେକର୍ଡ କରିବା ପାଇଁ ମୁଁ ବ୍ୟବହାର କରୁଛି:
00:21 Ubuntu OS ଭର୍ସନ୍ 11.10
00:26 g++ କମ୍ପାଇଲର୍ ଭର୍ସନ୍ 4.6.1
00:30 ଚାଲନ୍ତୁ function overloadingର ଗୋଟିଏ ପରିଚୟରୁ ଆରମ୍ଭ କରିବା
00:34 Function Overloadingର ଅର୍ଥ ହେଉଛି ଦୁଇ କିମ୍ବା ଅଧିକ ଫଙ୍କଶନଗୁଡିକର ନାମ ସମାନ ରହିବା
00:41 ଆର୍ଗୁମେଣ୍ଟଗୁଡିକ ଓ ଆର୍ଗୁମେଣ୍ଟଗୁଡିକର data-type ଭିନ୍ନ ରହିବ
00:47 ଯେତେବେଳେ ଗୋଟିଏ ଫଙ୍କଶନକୁ କଲ୍ କରାଯାଏ, argument listକୁ ଆଧାରକରି ଏହା ଚୟନ ହୋଇଥାଏ
00:53 ଚାଲନ୍ତୁ ଗୋଟିଏ ଉଦାହରଣ ଦେଖିବା
00:56 ଏଡିଟର୍ ଉପରେ କୋଡ୍ ଟାଇପ୍ ହୋଇସାରିଛି
00:59 ଏହି ପ୍ରୋଗ୍ରାମରେ, ଯୋଗ ପ୍ରକ୍ରିୟାକୁ ସମ୍ପାଦନ କରନ୍ତୁ
01:03 ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ ଫାଇଲ୍ ନାମ overload.cpp ଅଟେ
01:08 ବର୍ତ୍ତମାନ କୋଡକୁ ବର୍ଣ୍ଣନା କରନ୍ତୁ
01:10 iostream, ଏହା ହେଡର୍ ଫାଇଲ୍ ଅଟେ
01:13 ଏଠାରେ std namespaceକୁ ବ୍ୟବହାର କରନ୍ତୁ
01:17 ତା’ପରେ ଏଠାରେ ଥିବା add() ଫଙ୍କଶନକୁ int ଭାବେ ପରିଭାଷିତ କରାଯାଇଛି
01:21 ଏଥିରେ, ତିନୋଟି ଆର୍ଗୁମେଣ୍ଟକୁ ପାସ୍ କରାଯାଇଛି
01:24 Int a, int b ଓ int c ଅଟେ
01:28 ତା’ପରେ ତିନୋଟି ସଂଖ୍ୟାର ଯୋଗ କାର୍ଯ୍ୟ ସମ୍ପାଦନ କରିବା ସହିତ ଭେଲ୍ୟୂ return କରନ୍ତୁ
01:33 ଏଠାରେ ଫଙ୍କଶନ୍ add()କୁ ଓଭରଲୋଡ୍ କରାଯାଇଛି
01:36 ଏହାକୁ float ଭାବେ ଘୋଷଣା କରାଯାଇଛି
01:38 float d ଓ float e ନାମକ ଦୁଇଟି ଆର୍ଗୁମେଣ୍ଟକୁ ପାସ୍ କରାଯାଇଛି
01:44 ତା’ପରେ ଦୁଇଟି ସଂଖ୍ୟା ଉପରେ ଯୋଗ କାର୍ଯ୍ୟ ସମ୍ପାଦନ କରନ୍ତୁ
01:48 ଏହା main() ଫଙ୍କଶନ୍ ଅଟେ
01:50 main() ଫଙ୍କଶନରେ, ଭିନ୍ନ ଆର୍ଗୁମେଣ୍ଟଗୁଡିକ ସହିତ add() ଫଙ୍କଶନକୁ ଘୋଷଣା କରଯାଇଛି
01:56 ତା’ପରେ ଭେରିଏବଲଗୁଡିକୁ ଘୋଷଣା କରନ୍ତୁ
01:58 ଏଠାରେ ୟୁଜରଠାରୁ ଇଣ୍ଟିଜର୍ ଭେଲ୍ୟୁଗୁଡିକୁ ଗହଣ କରନ୍ତୁ
02:03 ତା’ପରେ ତିନୋଟି ଆର୍ଗୁମେଣ୍ଟ ସହିତ add() ଫଙ୍କଶନକୁ କଲ୍ କରନ୍ତୁ
02:07 ଏବଂ ପରିଣାମକୁ ଭେରିଏବଲ୍ sumରେ ଷ୍ଟୋର୍ କରନ୍ତୁ
02:09 ଏଠାରେ ପରିଣାମକୁ print କରନ୍ତୁ
02:12 ବର୍ତ୍ତମାନ ଏଠାରେ ୟୁଜରଠାରୁ floating point ନମ୍ବରଗୁଡିକୁ ଗ୍ରହଣ କରନ୍ତୁ
02:17 ତା’ପରେ ଦୁଇଟି ଆର୍ଗୁମେଣ୍ଟ ସହିତ add() ଫଙ୍କଶନକୁ କଲ୍ କରନ୍ତୁ
02:21 ଏବଂ ଏଠାରେ sumକୁ ପ୍ରିଣ୍ଟ କରନ୍ତୁ
02:23 ଏହା return ଷ୍ଟେଟମେଣ୍ଟ ଅଟେ
02:26 ବର୍ତ୍ତମାନ, ପ୍ରୋଗ୍ରାମକୁ ନିଷ୍ପାଦନ କରନ୍ତୁ
02:29 କୀବୋର୍ଡ ଉପରେ Ctrl, Alt ଓ T କୀକୁ ଏକ ସଙ୍ଗେ ଦାବି ଟର୍ମିନଲ୍ ୱିଣ୍ଡୋକୁ ଖୋଲନ୍ତୁ
02:38 ନିଷ୍ପାଦନ କରିବା ପାଇଁ, ଟାଇପ୍ କରନ୍ତୁ: g++ ସ୍ପେସ୍ overload ଡଟ୍ cpp ସ୍ପେସ୍ ହାଇଫେନ୍ o ସ୍ପେସ୍ over
02:49 Enter ଦାବନ୍ତୁ
02:51 ଟାଇପ୍ କରନ୍ତୁ: ଡଟ୍ ସ୍ଲାଶ୍ over
02:53 Enter ଦାବନ୍ତୁ
02:55 ଏହା, Enter three integers ବୋଲି ପ୍ରଦର୍ଶନ କରିବ
02:58 10, 25 ଓ 48 ପ୍ରବେଶ କରନ୍ତୁ
03:04 ଆଉଟପୁଟ୍, Sum of integers is 83 ଭାବେ ପ୍ରଦର୍ଶିତ ହେବ
03:09 ବର୍ତ୍ତମାନ-Enter two floating point numbersକୁ ଦେଖନ୍ତୁ
03:13 4.5 ଓ 8.9କୁ ପ୍ରବେଶ କରନ୍ତୁ
03:17 Enter ଦାବନ୍ତୁ
03:19 ଆଉଟପୁଟ୍, Sum of floating point numbers is 13.4 ଭାବେ ପ୍ରଦର୍ଶିତ ହେବ
03:25 ବର୍ତ୍ତମାନ ଚାଲନ୍ତୁ function overridingକୁ ଦେଖିବା
03:29 slidesକୁ ଫେରିଆସନ୍ତୁ
03:31 derived କ୍ଲାସରେ ଗୋଟିଏ base କ୍ଲାସକୁ ପୁନଃ ପରିଭାଷିତ କରନ୍ତୁ
03:36 derived କ୍ଲାସ୍ ଫଙ୍କଶନ୍, base କ୍ଲାସ୍ ଫଙ୍କଶନକୁ ଓଭରରାଇଡ୍ କରିଥାଏ
03:40 କିନ୍ତୁ ସମାନ ଆର୍ଗୁମେଣ୍ଟଗୁଡିକ ପାସ୍ ହୋଇଥାଏ
03:44 ଏବଂ return-type ମଧ୍ୟ ସମାନ ଥାଏ
03:47 ଚାଲନ୍ତୁ ଗୋଟିଏ ଉଦାହରଣକୁ ଦେଖିବା
03:49 ଏଠାରେ function Overriding ଉପରେ ଗୋଟିଏ ଉଦାହରଣ ଅଛି
03:53 ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ ଫାଇଲ୍ ନାମ override.cpp ଅଟେ
03:57 ଚାଲନ୍ତୁ କୋଡକୁ ବୁଝିବା
04:00 iostream, ଏହା ହେଡର୍ ଫାଇଲ୍ ଅଟେ
04:03 ଏଠାରେ std namespaceକୁ ବ୍ୟବହାର କରନ୍ତୁ
04:06 ତା’ପରେ ଏଠାରେ ଗୋଟିଏ କ୍ଲାସ୍ arithmetic ଅଛି
04:09 ଏଥିରେ, integer ଭେରିଏବଲଗୁଡିକୁ protected ଭାବେ ଘୋଷଣା କରାଯାଇଛି
04:14 ତା’ପରେ public ଭାବେ ଘୋଷଣା କରାଯାଇଥିବା ଫଙ୍କଶନ୍ values() ଅଛି
04:18 ଏଥିରେ int x ଓ int y ନାମକ ଦୁଇଟି ଆର୍ଗୁମେଣ୍ଟକୁ ପାସ୍ କରାଯାଇଛି
04:23 ତା’ପରେ a ଓ bରେ ଭାଲ୍ୟୁଗୁଡିକୁ ଷ୍ଟୋର୍ କରନ୍ତୁ
04:26 ଏଠାରେ operations() ଭାବେ virtual function ଅଛି
04:30 ଏଥିରେ, ଦୁଇଟି ସଂଖ୍ୟାକୁ ଯୋଗ କରିବା ସହିତ sumକୁ ପ୍ରିଣ୍ଟ କରନ୍ତୁ
04:34 ଏଠାରେ classକୁ ବନ୍ଦ କରନ୍ତୁ
04:37 ବର୍ତ୍ତମାନ derived କ୍ଲାସ୍ ଭାବେ କ୍ଲାସ୍ Subtract ଅଛି
04:41 ଏହା base କ୍ଲାସ୍ arithmeticକୁ ଇନହେରିଟ୍ କରିବ
04:45 ଏଥିରେ, ଦୁଇଟି ସଂଖ୍ୟା ମଧ୍ୟରେ ଥିବା ପ୍ରଭେଦକୁ ଗଣନା କରନ୍ତୁ ଏବଂ ପ୍ରଭେଦକୁ ପ୍ରିଣ୍ଟ କରନ୍ତୁ
04:50 ବର୍ତ୍ତମାନ Multiply ଭାବେ ଅନ୍ୟ ଏକ derived କ୍ଲାସ୍ ଅଛି
04:54 ଏହା ମଧ୍ୟ base କ୍ଲାସ୍ arithmeticକୁ ଇନହେରିଟ୍ କରିବ
04:57 ଏଥିରେ, ଦୁଇଟି ସଂଖ୍ୟାର ଗୁଣଫଳକୁ ଗଣନା କରିବା ସହିତ ଗୁଣଫଳକୁ ପ୍ରଦର୍ଶନ କରନ୍ତୁ
05:03 ତା’ପରେ ଏଠାରେ କ୍ଲାସ୍ Divide ଅଛି. ଏହା ମଧ୍ୟ base କ୍ଲାସ୍ arithmeticକୁ ଇନହେରିଟ୍ କରିବ
05:09 ଏଥିରେ, ଦୁଇଟି ସଂଖ୍ୟାକୁ ଭାଗ କରନ୍ତୁ ଓ ଭାଗଫଳକୁ ପ୍ରଦର୍ଶନ କରନ୍ତୁ
05:15 ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ ଫଙ୍କଶନର return-type ଏବଂ ପାସ୍ ହୋଇଥିବା arguments ମଧ୍ୟ ସମାନ ଅଟନ୍ତି
05:23 ଏହା main() ଫଙ୍କଶନ୍ ଅଟେ
05:26 ଏଥିରେ, p ଭାବେ କ୍ଲାସ୍ arithmeticର ଗୋଟିଏ ଅବଜେକ୍ଟକୁ ସୃଷ୍ଟି କରନ୍ତୁ
05:31 arith, କ୍ଲାସ୍ arithmetic ପ୍ରତି ପଏଣ୍ଟର୍ ଅଟେ
05:35 ତା’ପରେ ଏଠାରେ କ୍ଲାସ୍ Subtractର ଅବଜେକ୍ଟ subt ଅଛି
05:39 mult, କ୍ଲାସ୍ Multiplyର ଅବଜେକ୍ଟ ଅଟେ
05:42 ଏବଂ divd, କ୍ଲାସ୍ Divideର ଅବଜେକ୍ଟ ଅଟେ
05:46 ବର୍ତ୍ତମାନ ଏଠାରେ arithର ଆଡ୍ରେସ୍ ପାଇଁ pକୁ ସେଟ୍ କରାଯାଇଛି
05:50 ତା’ପରେ ଫଙ୍କଶନ୍ ଭେଲ୍ୟୁଗୁଡିକରେ ଆର୍ଗୁମେଣ୍ଟ ଭାବେ 30 ଓ 12କୁ ପାସ୍ କରନ୍ତୁ
05:56 ବର୍ତ୍ତମାନ ଫଙ୍କଶନ୍ operations()କୁ କଲ୍ କରନ୍ତୁ
05:59 ଏହା ଯୋଗ କ୍ରିୟାକୁ ସମ୍ପାଦନ କରିବ
06:02 ଏଠାରେ arithର ଆଡ୍ରେସ୍ ପାଇଁ subtକୁ ସେଟ୍ କରନ୍ତୁ
06:07 ଏବଂ 42 ଓ 5କୁ ଆର୍ଗୁମେଣ୍ଟ ଭାବେ ପାସ୍ କରନ୍ତୁ
06:11 ପୁନର୍ବାର ଫଙ୍କଶନ୍ operations()କୁ କଲ୍ କରନ୍ତୁ
06:14 ଏହା ଦୁଇଟି ସଂଖ୍ୟାର ବିୟୋଗକ୍ରିୟାକୁ ସମ୍ପାଦନ କରିବ
06:18 ବର୍ତ୍ତମାନ, ଏଠାରେ arithର ଆଡ୍ରେସ ପାଇଁ multକୁ ସେଟ୍ କରନ୍ତୁ
06:22 ଏବଂ ଆର୍ଗୁମେଣ୍ଟ ଭାବେ 6 ଓ 5କୁ ପାସ୍ କରନ୍ତୁ
06:26 ଫଙ୍କଶନ୍ operations()କୁ କଲ୍ କରନ୍ତୁ
06:29 ଏହା ଦୁଇଟି ସଂଖ୍ୟାର ଗୁଣନକ୍ରିୟାକୁ ସମ୍ପାଦନ କରିବ
06:33 ଶେଷରେ, arithର ଆଡ୍ରେସ ପାଇଁ divdକୁ ସେଟ୍ କରନ୍ତୁ ଏବଂ 6 ଓ 3କୁ ଆର୍ଗୁମେଣ୍ଟ ଭାବେ ପାସ୍ କରନ୍ତୁ
06:41 ବର୍ତ୍ତମାନ operations() ଫଙ୍କଶନକୁ କଲ୍ କରନ୍ତୁ
06:44 ଏହା ଦୁଇଟି ସଂଖ୍ୟାର ଭାଗକ୍ରିୟାକୁ ସମ୍ପାଦନ କରିବ
06:48 ଏବଂ ଏହା return ଷ୍ଟେଟମେଣ୍ଟ ହେବ
06:50 ପ୍ରୋଗ୍ରାମକୁ execute କରନ୍ତୁ. ଟର୍ମିନଲକୁ ଫେରିଆସନ୍ତୁ
06:54 ଟାଇପ୍ କରନ୍ତୁ: g++ ସ୍ପେସ୍ override ଡଟ୍ cpp ସ୍ପେସ୍ ହାଇଫେନ୍ o ସ୍ପେସ୍ over2
07:04 Enter ଦାବନ୍ତୁ
07:06 ଟାଇପ୍ କରନ୍ତୁ: ଡଟ୍ ସ୍ଲାଶ୍ over2
07:09 Enter ଦାବନ୍ତୁ
07:11 ଆଉଟପୁଟ୍ ନିମ୍ନ ଭାବେ ପ୍ରଦର୍ଶିତ ହେବ:
07:13 Addition of two numbers is 42
07:16 Difference of two numbers is 37
07:19 Product of two numbers is 30 and Division of two numbers is 2
07:25 slidesକୁ ଫେରିଆସନ୍ତୁ
07:27 ଚାଲନ୍ତୁ overloading ଓ overriding ମଧ୍ୟରେ ଥିବା ପାର୍ଥକ୍ୟକୁ ଦେଖିବା
07:31 Overloading, inheritance ବିନା ସମ୍ପାଦନ ହୋଇପାରେ
07:35 Overriding ସମ୍ପାଦନ ହୁଏ ଯେତେବେଳେ ଗୋଟିଏ କ୍ଲାସ୍ ଅନ୍ୟଠାରୁ ଇନହେରିଟ୍ ହୁଏ
07:41 overloadingରେ ଆର୍ଗୁମେଣ୍ଟଗୁଡିକ ଓ return-type ନିଶ୍ଚିତରୂପେ ଭିନ୍ନ ହେବେ
07:46 overridingରେ ଆର୍ଗୁମେଣ୍ଟଗୁଡିକ ଓ return-type ନିଶ୍ଚିତରୂପେ ସମାନ ହେବେ
07:51 overloadingରେ ଫଙ୍କଶନର ନାମ ସମାନ ଅଟେ
07:55 କିନ୍ତୁ ସେମାନଙ୍କୁ ପାସ୍ ହୋଇଥିବା ଆର୍ଗୁମେଣ୍ଟ ଅନୁସାରେ ଭିନ୍ନ କାର୍ଯ୍ୟ କରନ୍ତି
08:01 overridingରେ ଫଙ୍କଶନ୍ ନାମ ସମାନ ଅଟେ
08:05 Derived କ୍ଲାସ୍ ଫଙ୍କଶନ୍, base କ୍ଲାସ୍ ମଧ୍ୟରୁ ବିଭିନ୍ନ କାର୍ଯ୍ୟଗୁଡିକୁ ସମ୍ପାଦନ କରେ
08:11 ସଂକ୍ଷିପ୍ତରେ:
08:13 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ନିମ୍ନଲିଖିତ ଶିଖିଲେ:
08:15 ଫଙ୍କଶନ୍ overloadingର ଉଦାହରଣ ତିନୋଟି ଆର୍ଗୁମେଣ୍ଟ ସହିତ int add() ଏବଂ
08:21 ଦୁଇଟି ଆର୍ଗୁମେଣ୍ଟ ସହିତ float add()
08:24 ତ’ପରେ ଫଙ୍କଶନ୍ Overriding-
08:26 ଉଦାହରଣ virtual int operations() ଏବଂ int operations()
08:31 ସମାନ ଆର୍ଗୁମେଣ୍ଟ ଓ return-type ଥିବା ଫଙ୍କଶନଗୁଡିକ ଏବଂ ଉଭୟ ମଧ୍ୟରେ ଥିବା ପାର୍ଥକ୍ୟ. ଏକ ଆସାଇନମେଣ୍ଟ ଭାବେ
08:39 ଫଙ୍କଶନ୍ overloadingକୁ ବ୍ୟବହାର କରି, rectangle, square and circleର କ୍ଷେତ୍ରଫଳ
08:46 ଗଣନା କରିବା ପାଇଁ ଗୋଟିଏ ପ୍ରୋଗ୍ରାମ୍ ଲେଖନ୍ତୁ
08:48 ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ ଥିବା ଭିଡିଓକୁ ଦେଖନ୍ତୁ
08:52 ଏହା ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟକୁ ସାରାଂଶିତ କରେ
08:55 ଯଦି ଆପଣଙ୍କର ଭଲ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ନାହିଁ, ଏହାକୁ ଡାଉନଲୋଡ୍ କରିଦେଖିପାରିବେ
08:59 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ଟିମ୍:
09:02 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ସ ବ୍ୟବହାର କରି କର୍ମଶାଳାମାନ ଚଲାନ୍ତି
09:05 ଅନଲାଇନ୍ ଟେଷ୍ଟ ପାସ୍ କରୁଥିବା ବ୍ୟକ୍ତିମାନଙ୍କୁ ପ୍ରମାଣପତ୍ର ଦିଅନ୍ତି.
09:09 ଅଧିକ ବିବରଣୀ ପାଇଁ ଦୟାକରି
09:12 contact@spoken-tutorial.orgକୁ ଲେଖନ୍ତୁ
09:16 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ ପ୍ରୋଜେକ୍ଟ, ଟକ୍ ଟୁ ଏ ଟିଚର୍ ପ୍ରୋଜେକ୍ଟର ଏକ ଅଂଶ
09:20 ଏହା ଭାରତ ସରକାରଙ୍କ MHRDର ICT ମାଧ୍ୟମରେ ରାଷ୍ଟ୍ରୀୟ ସାକ୍ଷରତା ମିଶନ୍ ଦ୍ୱାରା ସମର୍ଥିତ
09:27 ଏହି ମିଶନ୍ ଉପରେ ଅଧିକ ବିବରଣୀ ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ
09:32 ଆଇଆଇଟି ବମ୍ୱେ ତରଫରୁ, ପ୍ରଦୀପ ମହାପାତ୍ରଙ୍କ ସହ ମୁଁ ପ୍ରଭାସ ତ୍ରିପାଠୀ ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି
09:36 ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ ଧନ୍ୟବାଦ

Contributors and Content Editors

Pradeep