ধরুন আমরা ডাটা হাইডিং এবং এনক্যাপসুলেশন দিয়ে স্টুডেন্ট ডাটা টাইপ করতে চাই। ছাত্রদের অবশ্যই প্রথম_নাম, শেষ_নাম, বয়স এবং শ্রেণীর আইটেম থাকতে হবে, কিন্তু এই ভেরিয়েবলগুলি সরাসরি অ্যাক্সেসযোগ্য হতে পারে না। পরিবর্তনশীল মান পুনরুদ্ধার এবং আপডেট করার জন্য আমাদের কিছু ফাংশন যেমন get_firstname() set_firstname(), get_age() set_age() ইত্যাদি এবং একটি to_string() ফাংশন এই ফরম্যাটে শিক্ষার্থীদের বিশদ (বয়স, প্রথম_নাম, শেষ_নাম, ক্লাস) প্রদর্শন করতে হবে। ) কনসোল থেকে ইনপুট হিসাবে চারটি প্যারামিটার নিন এবং সেটার পদ্ধতি ব্যবহার করে সেট করুন যা আমরা সংজ্ঞায়িত করেছি এবং প্রতিটি আইটেম গেটার পদ্ধতি ব্যবহার করে এবং অবশেষে to_string() পদ্ধতি ব্যবহার করে দেখান।
সুতরাং, যদি ইনপুট মত হয়
priyam kundu 16 10
তাহলে আউটপুট হবে
16 priyam kundu 10 (16, priyam, kundu, 10)
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
প্রথম_নাম, টাইপ স্ট্রিং এর শেষ_নাম এবং বয়স, টাইপ পূর্ণসংখ্যার cl সহ একটি শ্রেণী সংজ্ঞায়িত করুন
-
সমস্ত বৈশিষ্ট্যের জন্য গেটার ফাংশন সংজ্ঞায়িত করুন
-
সমস্ত বৈশিষ্ট্যের জন্য সেটার ফাংশন সংজ্ঞায়িত করুন
-
স্ট্রিং-স্ট্রিম অবজেক্ট ব্যবহার করে to_string() ফাংশন সংজ্ঞায়িত করুন এবং আউটপুট ফর্ম্যাটের সাথে মেলে এমন ফর্ম্যাটেড স্ট্রিং তৈরি করুন
-
প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন -
-
প্রতিটি লাইন পড়ুন এবং যথাক্রমে first_name, last_name, age, cl সংরক্ষণ করুন
-
এই মানগুলি ক্লাস সদস্যদের মধ্যে সেট করার জন্য কল সেটার ফাংশন
-
গেটার পদ্ধতি ব্যবহার করে সমস্ত বৈশিষ্ট্য প্রিন্ট করুন;
-
to_string() ফাংশন ব্যবহার করে এই ফরম্যাটে (বয়স, প্রথম_নাম, শেষ_নাম, cl) শিক্ষার্থীদের তথ্য প্রদর্শন করুন।
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <iostream> #include <sstream> using namespace std; class Student{ private: int age, cl; string first_name, last_name; public: int get_age(){return age;} int get_class(){return cl;} string get_firstname(){return first_name;} string get_lastname(){return last_name;} void set_age(int a){age = a;} void set_class(int c){cl = c;} void set_firstname(string fn){first_name = fn;} void set_lastname(string ln){last_name = ln;} string to_string(){ stringstream ss; ss << "(" << age << ", " << first_name << ", " << last_name << ", " << cl << ")"; return ss.str(); } }; int main() { Student stud; int age, cl; string first_name, last_name; cin >> first_name >> last_name >> age >> cl; stud.set_age(age); stud.set_class(cl); stud.set_firstname(first_name); stud.set_lastname(last_name); cout << stud.get_age() << endl; cout << stud.get_firstname() << endl; cout << stud.get_lastname() << endl; cout << stud.get_class() << endl; cout << endl << stud.to_string(); }
ইনপুট
priyam kundu 16 10
আউটপুট
16 priyam kundu 10 (16, priyam, kundu, 10)