สร้างข้อมูลนักเรียนแบบ Data Hiding และ Encapsulation มี first_name, last_name, age, class เป็น private ต้องมี getter/setter และ to_string() แสดงในรูปแบบ (age, first_name, last_name, class) รับอินพุต 4 ค่า ตั้งค่าผ่าน setter แสดงผ่าน getter และ to_string()
เช่น อินพุต: priyam kundu 16 10 ผลลัพธ์: 16 priyam kundu 10 (16, priyam, kundu, 10)
ขั้นตอนการแก้ปัญหา
- สร้างคลาส Student มี private: age, cl, first_name, last_name
- Getter/Setter สำหรับทุกแอตทริบิวต์
- to_string() ใช้ stringstream สร้างสตริง "(age, first_name, last_name, cl)"
- ใน main: อ่านค่า เรียก setter พิมพ์ getter และ to_string()
ตัวอย่างโค้ด
#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 << stud.get_firstname() << endl << stud.get_lastname() << endl << stud.get_class() << endl << stud.to_string(); }
อินพุต
priyam kundu 16 10
เอาต์พุต
16 priyam kundu 10 (16, priyam, kundu, 10)