Advanced-Cpp/C2/Abstract-Class/Punjabi
From Script | Spoken-Tutorial
“Time” | “Narration” | |
00:01 | ਸਤਿ ਸ਼੍ਰੀ ਅਕਾਲ ਦੋਸਤੋ, “C + +” ਵਿੱਚ “abstract class” ਅਤੇ “pure virtual function” ਦੇ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਤੁਹਾਡਾ ਸਾਰਿਆ ਦਾ ਸਵਾਗਤ ਹੈ । | |
00:08 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਹੇਠ ਲਿਖੇ ਨੂੰ ਕਰਨਾ ਸਿੱਖਾਂਗੇ, | |
00:10 | * Abstract ਕਲਾਸਾਂ | |
00:11 | * Pure virtual ਫੰਕਸ਼ਨ | |
00:13 | * ਅਸੀਂ ਇਹ ਇੱਕ ਉਦਾਹਰਣ ਦੀ ਮੱਦਦ ਨਾਲ ਕਰਾਂਗੇ । | |
00:16 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਦੇ ਲਈ, ਮੈਂ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹਾਂ, | |
00:19 | * “ਉਬੰਟੁ OS ਵਰਜ਼ਨ 11.10” | |
00:23 | * “g + + ਕੰਪਾਇਲਰ” ਵਰਜ਼ਨ 4.6.1 | |
00:27 | ਸਭ ਤੋਂ ਪਹਿਲਾਂ “abstract class” ਦੀ ਜਾਣ-ਪਹਿਚਾਣ ਦੇ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹਾਂ । | |
00:31 | “Abstract class” ਹਮੇਸ਼ਾ “base class” ਹੁੰਦੀ ਹੈ । | |
00:35 | ਇਸ ਵਿੱਚ ਘੱਟ ਤੋਂ ਘੱਟ ਇੱਕ “pure virtual function” ਹੁੰਦਾ ਹੈ | |
00:39 | ਅਸੀਂ “abstract class” ਦਾ ਇੰਸਟੈਂਸ ਨਹੀਂ ਬਣਾ ਸਕਦੇ ਹਾਂ । | |
00:43 | ਹੁਣ “pure virtual function” ਵੇਖਦੇ ਹਾਂ । | |
00:45 | “Pure virtual function” ਬਿਨ੍ਹਾਂ “body” ਦਾ ਇੱਕ ਫੰਕਸ਼ਨ ਹੈ । | |
00:49 | ਇਹ ਬੇਸ ਕਲਾਸ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੁੰਦਾ ਹੈ । | |
00:52 | ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਹੁੰਦਾ ਹੈ: | |
00:54 | “virtual void virtual fun name () = 0;” | |
01:00 | “derived class” ਨੂੰ ਫੰਕਸ਼ਨ ਨੂੰ ਓਵਰਾਇਡ ਕਰਨਾ ਹੀ ਹੋਵੇਗਾ । | |
01:04 | ਨਹੀਂ ਤਾਂ ਕੰਪਾਇਲਰ ਇੱਕ ਐਰਰ ਦੇਵੇਗਾ । | |
01:07 | ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨਾ “derived class” ‘ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ । | |
01:11 | ਹੁਣ ਇੱਕ ਉਦਾਹਰਣ ਵੇਖਦੇ ਹਾਂ । | |
01:13 | ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਐਡੀਟਰ ‘ਤੇ ਕੋਡ ਟਾਈਪ ਕਰ ਲਿਆ ਹੈ । | |
01:16 | ਮੈਂ ਇਸ ਨੂੰ ਖੋਲ੍ਹਾਂਗਾ । | |
01:18 | ਨੋਟ ਕਰੋ ਕਿ ਸਾਡੀ ਫਾਇਲ ਦਾ ਨੇਮ “abstract.cpp” ਹੈ । | |
01:22 | ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ ਦੋ ਨੰਬਰਸ ਦਾ ਐਡੀਸ਼ਨ ਅਤੇ ਸਬਟਰੈਕਸ਼ਨ ਹਨ । | |
01:28 | ਹੁਣ ਪੂਰੇ ਕੋਡ ਨੂੰ ਸਮਝਦੇ ਹਾਂ । | |
01:30 | ਇਹ “iostream” ਸਾਡੀ ਹੈਡਰ ਫਾਇਲ ਹੈ । | |
01:33 | ਇੱਥੇ ਮੈਂ “std namespace” ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹਾਂ । | |
01:36 | ਇਹ “abstract interface” ਨਾਂ ਵਾਲੀ ਕਲਾਸ ਲਈ ਐਲਾਨ ਹੈ । | |
01:41 | ਫਿਰ ਸਾਡੇ ਕੋਲ “public specifier” ਹੈ । | |
01:44 | ਇਸ ਵਿੱਚ ਅਸੀਂ “numbers” ਨਾਂ ਵਾਲਾ “virtual function” ਐਲਾਨ ਕੀਤਾ ਹੈ । | |
01:49 | ਇਹ “0” ਤੋਂ ਇਨਿਸ਼ਿਅਲਾਇਜ ਹੁੰਦਾ ਹੈ । | |
01:51 | ਫਿਰ ਸਾਡੇ ਕੋਲ ਇੱਕ “non - virtual function” ਹੈ । | |
01:55 | ਅਤੇ “a” ਅਤੇ “b” ਦੋ ਇੰਟੀਜਰ ਵੈਰੀਏਬਲਸ ਹਨ । | |
01:59 | ਇੱਥੇ ਅਸੀਂ “ਇਨਪੁਟ ਫੰਕਸ਼ਨ” ਐਕਸੈੱਸ ਕਰਦੇ ਹਾਂ । | |
02:01 | ਇਸ ਵਿੱਚ ਅਸੀਂ ਨੰਬਰਸ ‘a’ ਅਤੇ ‘b’ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦੇ ਹਾਂ । | |
02:05 | ਇਹ ‘add’ ਨਾਂ ਵਾਲੀ ਇੱਕ ਡਿਰਾਇਵਡ ਕਲਾਸ ਹੈ । | |
02:09 | ਇਹ ਬੇਸ ਕਲਾਸ “abstract interface” ਦੀ ਪ੍ਰਾਪਰਟੀਜ ਨੂੰ ਇੰਹੇਰਿਟ ਕਰਦਾ ਹੈ । | |
02:14 | ਇੱਥੇ ਅਸੀਂ ‘ਫੰਕਸ਼ਨ ਨੰਬਰਸ’ ਨੂੰ ਓਵਰਾਇਡ ਕਰਦੇ ਹਾਂ । | |
02:18 | ਇਸ ਵਿੱਚ ਅਸੀਂ ਦੋ ਨੰਬਰਸ ਦਾ ਐਡੀਸ਼ਨ ਲਾਗੂ ਕਰਦੇ ਹਾਂ । | |
02:21 | ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਇੰਟੀਜਰ ਵੈਰੀਏਬਲ ‘sum’ ਵਿੱਚ ਇੱਕਠਾ ਕਰਦੇ ਹਾਂ । | |
02:25 | ਫਿਰ ਅਸੀਂ ਨਤੀਜਾ ਪ੍ਰਿੰਟ ਕਰਦੇ ਹਾਂ । | |
02:27 | ਇੱਥੇ ਸਾਡੇ ਕੋਲ ਇੱਕ ਹੋਰ ਡਿਰਾਇਵਡ ਕਲਾਸ ‘sub’ ਹੈ । | |
02:31 | ਇਹ ਬੇਸ ਕਲਾਸ ‘abstract interface’ ਨੂੰ ਵੀ ਇੰਹੇਰਿਟ ਕਰਦੀ ਹੈ । | |
02:35 | ਇਸ ਵਿੱਚ ਦੁਬਾਰਾ ਅਸੀਂ ‘ਫੰਕਸ਼ਨ ਨੰਬਰਸ’ ਨੂੰ ਓਵਰਾਇਡ ਕਰਦੇ ਹਾਂ । | |
02:39 | ਅਤੇ ਇੱਥੇ ਅਸੀਂ ਦੋ ਨੰਬਰਸ ‘a’ ਅਤੇ ‘b’ ਦੇ ਡਿਫਰੇਂਸ ਦੀ ਗਿਣਤੀ ਕਰਦੇ ਹਾਂ । | |
02:43 | ਫਿਰ ਅਸੀਂ ਡਿਫਰੇਂਸ ਪ੍ਰਿੰਟ ਕਰਦੇ ਹਾਂ । | |
02:45 | ਇਹ ਸਾਡਾ ‘ਮੇਨ ਫੰਕਸ਼ਨ’ ਹੈ । | |
02:48 | ਇੱਥੇ ਅਸੀਂ ਕਲਾਸ ‘add’ ਦਾ ਇੱਕ ਆਬਜੈਕਟ ‘obj1’ ਬਣਾਉਂਦੇ ਹਾਂ । | |
02:53 | ਫਿਰ ਅਸੀਂ ‘object obj1’ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ‘input’ ਅਤੇ ‘numbers’ ਦੋਵੇਂ ਫੰਕਸ਼ਨਸ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ । | |
02:59 | ਫਿਰ ਅਸੀਂ ਕਲਾਸ ‘sub’ ਦਾ ਇੱਕ ਆਬਜੈਕਟ ‘obj2’ ਬਣਾਉਂਦੇ ਹਾਂ । | |
03:04 | ਫਿਰ ਤੋਂ, ਅਸੀਂ ‘object obj2’ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਦੋ ਫੰਕਸ਼ਨਸ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ । | |
03:08 | ਅਤੇ ਇਹ ਸਾਡੀ ‘ਰਿਟਰਨ ਸਟੇਟਮੈਂਟ’ ਹੈ । | |
03:10 | ਹੁਣ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਂਦੇ ਹਾਂ । | |
03:13 | ਆਪਣੇ ਕੀਬੋਰਡ ‘ਤੇ ਇੱਕੋ-ਸਮੇਂ ‘Ctrl, Alt’ ਅਤੇ ‘T’ ਕੀਜ ਇਕੱਠੇ ਦਬਾਕੇ ਟਰਮੀਨਲ ਵਿੰਡੋ ਖੋਲੋ । | |
03:21 | ਕੰਪਾਇਲ ਕਰਨ ਦੇ ਲਈ:
“g + + ਸਪੇਸ abstract ਡਾਟ cpp ਸਪੇਸ hyphen o ਸਪੇਸ abs” | |
03:31 | ਐਂਟਰ ਦਬਾਓ । | |
03:32 | ਟਾਈਪ ਕਰੋ: “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 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਸਿੱਖਿਆ, ‘Abstract class’ ਦੀ ‘ਉਦਾਹਰਣ ਕਲਾਸ abstract interface’ | |
04:09 | ‘Pure virtual function’ ਉਦਾਹਰਣ ‘virtual void numbers () = 0;’ | |
04:14 | ਇੱਕ ਨਿਰਧਾਰਤ ਕੰਮ ਵਿੱਚ ਇੱਕ ਐਬਸਟਰੈਕਟ ਕਲਾਸ “student” ਬਣਾਓ । | |
04:17 | * ਪਯੋਰ ਵਰਚੂਅਲ ਫੰਕਸ਼ਨ ‘Info’ ਬਣਾਓ । | |
04:20 | * ਫੰਕਸ਼ਨ ਵਿੱਚ ਸਟੂਡੈਂਟ ਦਾ ‘ਨੇਮ’ ਅਤੇ ‘ਰੋਲ ਨੰਬਰ’ ਸਵੀਕਾਰ ਕਰੋ । | |
04:25 | * ਦੋ ਡਿਰਾਇਵਡ ਕਲਾਸ ‘marks’ ਅਤੇ ‘sports’ ਬਣਾਓ । | |
04:29 | * ਮਾਰਕਸ ਵਿੱਚ, ਤਿੰਨ ਸਟੂਡੈਂਟਸ ਦੇ ਮਾਰਕਸ ਸਵੀਕਾਰ ਕਰੋ । | |
04:32 | * ਸਪੋਰਟਸ ਵਿੱਚ, ‘ਸਪੋਰਟਸ’ ਵਿੱਚ ਸਕੋਰ ਕੀਤੇ ਹੋਏ ਮਾਰਕਸ ਐਂਟਰ ਕਰੋ । | |
04:35 | * ‘total marks’ ਦੀ ਗਿਣਤੀ ਕਰੋ । | |
04:38 | * ਫਿਰ ਇੱਕ ਹੋਰ ਡਿਰਾਇਵਡ ਕਲਾਸ ‘result’ ਬਣਾਓ । | |
04:41 | * ਇਸ ਵਿੱਚ, ਸਟੂਡੈਂਟ ਦਾ ‘ਨੇਮ’, ‘ਰੋਲ ਨੰਬਰ’ ਅਤੇ ‘ਟੋਟਲ ਮਾਰਕਸ’ ਦਿਖਾਓ । | |
04:47 | http://spoken-tutorial.org/What\_is\_a\_Spoken\_Tutoria ‘ਤੇ ਉਪਲੱਬਧ ਵੀਡੀਓ ਨੂੰ ਵੇਖੋ । | |
04:50 | ਇਹ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਾਰ ਕਰਦਾ ਹੈ । | |
04:53 | ਚੰਗੀ ਬੈਂਡਵਿਡਥ ਨਾ ਮਿਲਣ ‘ਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਡਾਊਂਨਲੋਡ ਕਰਕੇ ਵੀ ਵੇਖ ਸਕਦੇ ਹੋ । | |
04:58 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੇਕਟ ਟੀਮ, ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਕਸ਼ਾਪਾਂ ਚਲਾਉਂਦੀ ਹੈ । | |
05:03 | ਆਨਲਾਇਨ ਟੈਸਟ ਪਾਸ ਕਰਨ ਵਾਲਿਆ ਨੂੰ ਪ੍ਰਮਾਣ ਪੱਤਰ ਵੀ ਦਿੰਦੇ ਹਨ । | |
05:07 | ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦੇ ਲਈ, ਕ੍ਰਿਪਾ ਕਰਕੇ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ । | |
05:14 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਟਾਕ-ਟੂ-ਅ ਟੀਚਰ ਪ੍ਰੋਜੇਕਟ ਦਾ ਹਿੱਸਾ ਹੈ । | |
05:18 | ਇਹ ਭਾਰਤ ਸਰਕਾਰ ਦੇ ਐਮਐਚਆਰਡੀ ਦੇ “ਆਈਸੀਟੀ ਵਲੋਂ ਰਾਸ਼ਟਰੀ ਸਾਖਰਤਾ ਮਿਸ਼ਨ” ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਹੈ । | |
05:25 | ਇਸ ‘ਤੇ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਹੇਠਾਂ ਦਿੱਤੇ ਲਿੰਕ ‘ਤੇ ਉਪਲੱਬਧ ਹੈ । http://spoken-tutorial.org/NMEICT-Intro | |
05:30 | ਆਈ.ਆਈ.ਟੀ ਬੰਬੇ ਤੋਂ ਮੈਂ ਨਵਦੀਪ ਤੁਹਾਡੇ ਤੋਂ ਇਜਾਜ਼ਤ ਲੈਂਦਾ ਹਾਂ । ਸਾਡੇ ਨਾਲ ਜੁੜਨ ਲਈ ਧੰਨਵਾਦ । | } |