Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ lưu thông tin sinh viên với che giấu dữ liệu và đóng gói

Tạo kiểu dữ liệu sinh viên với che giấu dữ liệu (data hiding) và đóng gói (encapsulation). Thuộc tính: first_name, last_name, age, class (private). Các hàm getter/setter cho từng thuộc tính. Hàm to_string() trả về chuỗi "(age, first_name, last_name, class)". Đọc 4 giá trị từ console, set bằng setter, in bằng getter và to_string().

Ví dụ: "priyam kundu 16 10" → "16 priyam kundu 10 (16, priyam, kundu, 10)"

Giải thuật

  • Lớp Student: private age, cl, first_name, last_name
  • Getter: get_age(), get_class(), get_firstname(), get_lastname()
  • Setter: set_age(), set_class(), set_firstname(), set_lastname()
  • to_string(): dùng stringstream tạo "(age, first_name, last_name, cl)"
  • Main: đọc 4 giá trị, gọi setter, in getter, in to_string()

Ví dụ minh họa

#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(); 
} 

Đầu vào

priyam kundu 16 10

Đầu ra

16 priyam kundu 10 (16, priyam, kundu, 10)