একটি বিশুদ্ধ ভার্চুয়াল ফাংশন হল C++ এ একটি ভার্চুয়াল ফাংশন যার জন্য আমাদের কোনো ফাংশনের সংজ্ঞা লিখতে হবে না এবং শুধুমাত্র আমাদের এটি ঘোষণা করতে হবে। এটি ঘোষণায় 0 বরাদ্দ করে ঘোষণা করা হয়।
একটি বিমূর্ত শ্রেণী হল C++ এর একটি ক্লাস যার অন্তত একটি বিশুদ্ধ ভার্চুয়াল ফাংশন আছে।
-
বিমূর্ত শ্রেণীতে একটি বিশুদ্ধ ভার্চুয়াল ফাংশনের সাথে স্বাভাবিক ফাংশন এবং ভেরিয়েবল থাকতে পারে।
-
অ্যাবস্ট্রাক্ট ক্লাস ইনস্ট্যান্ট করা যাবে না, তবে অ্যাবস্ট্রাক্ট ক্লাস টাইপের পয়েন্টার এবং রেফারেন্স তৈরি করা যেতে পারে।
-
বিমূর্ত ক্লাসগুলি মূলত Upcasting এর জন্য ব্যবহৃত হয়, যাতে এর থেকে প্রাপ্ত ক্লাসগুলি এর ইন্টারফেস ব্যবহার করতে পারে।
-
যদি একটি অ্যাবস্ট্রাক্ট ক্লাস থেকে ক্লাস নেওয়া হয়, তবে তাদের অবশ্যই সমস্ত বিশুদ্ধ ভার্চুয়াল ফাংশন প্রয়োগ করতে হবে, অন্যথায় সেগুলিও অ্যাবস্ট্রাক্ট হয়ে যাবে।
-
আমরা বিমূর্ত শ্রেণীর বস্তু তৈরি করতে পারি না কারণ আমরা Vtable-এ একটি বিশুদ্ধ ভার্চুয়াল ফাংশনের জন্য একটি স্লট সংরক্ষণ করি, কিন্তু আমরা কোনো ঠিকানা রাখি না, তাই Vtable অসম্পূর্ণ থেকে যাবে।
উদাহরণ কোড
#include<iostream> using namespace std; class B { public: virtual void s() = 0; // Pure Virtual Function }; class D:public B { public: void s() { cout << "Virtual Function in Derived class\n"; } }; int main() { B *b; D dobj; b = &dobj; b->s(); }
আউটপুট
Virtual Function in Derived class