C++ এ, ক্লাস মেম্বার পদ্ধতি ডিফল্টরূপে অ-ভার্চুয়াল। এর মানে, এটি নির্দিষ্ট করে তাদের ভার্চুয়াল করা যেতে পারে।
অন্যদিকে, জাভাতে, পদ্ধতিগুলি ডিফল্টরূপে ভার্চুয়াল, এবং 'ফাইনাল' কীওয়ার্ডের সাহায্যে অ-ভার্চুয়াল করা যেতে পারে।
উদাহরণ
class base_class{ public void display_msg(){ System.out.println("The display_msg method of base class class"); } } class derived_class extends base_class{ public void display_msg(){ System.out.println("The display_msg of derived class called"); } } public class Main{ public static void main(String[] args){ base_class my_instance = new base_class();; my_instance.display_msg(); } }
আউটপুট
The display_msg method of base class class
'বেস_ক্লাস' নামে একটি ক্লাস তৈরি করা হয়েছে, যার একটি ফাংশন রয়েছে 'display_msg'। এই ফাংশন শুধু প্রাসঙ্গিক বার্তা প্রদর্শন করে। 'derived_class' নামের আরেকটি ফাংশন 'base_class' থেকে উত্তরাধিকার সূত্রে প্রাপ্ত। এই ক্লাসে 'display_msg'ও রয়েছে যা প্রাসঙ্গিক বার্তা প্রদর্শন করে। Main নামের আরেকটি ক্লাস প্রধান ফাংশন ধারণ করে, যেখানে base_class-এর একটি উদাহরণ তৈরি করা হয়। এই উদাহরণের সাথে 'display_msg' বলা হয় এবং আউটপুটটি স্ক্রিনে প্রদর্শিত হয়।