কম্পিউটার

C++ বনাম জাভাতে ডিফল্ট ভার্চুয়াল আচরণ


সি++ পদ্ধতিগুলি ডিফল্টরূপে অ-ভার্চুয়াল। ভার্চুয়াল কীওয়ার্ড ব্যবহার করে এগুলিকে ভার্চুয়াল ফাংশন করা যেতে পারে।

উদাহরণ কোড

#include <iostream>
using namespace std;
class B {
   public: void s() //non virtual by default. Use virtual before the function to print “In Derived” {
      cout<<" In Base \n";
   }
};

class D: public B {
   public: void s() {
      cout<<"In Derived \n";
   }
};

int main(void) {
   D d; // An object of class D
   B &b = d;
   b.s();
   return 0;
}

আউটপুট

In Base.

জাভাতে, পদ্ধতিগুলি ডিফল্টরূপে ভার্চুয়াল। চূড়ান্ত কীওয়ার্ড ব্যবহার করে তাদের নন-ভার্চুয়াল ফাংশন করা যেতে পারে।

উদাহরণ কোড

class B {
   public void s() {
      System.out.println("In Base"); // virtual by default
   }
}

class D extends B {
   public void s() {
      System.out.println(" In Derived");
   }
}

public class Main {
   public static void main(String[] args) {
      B b = new D();
      b.show();
   }
}

আউটপুট

In Base.

  1. সি, সি++, জাভা, এবং সি# এ ইনক্রিমেন্ট অপারেটর আচরণের পূর্ব ও পরে

  2. C++ এ ডিফল্ট কনস্ট্রাক্টর

  3. কিভাবে ডিফল্ট ভার্চুয়াল আচরণ C++ এবং জাভাতে ভিন্ন হয়?

  4. জাভাতে ডিফল্ট অ্যারে মান