使用数据隐藏和封装保存学生信息的 C++ 程序
假设我们要使学生数据类型具有数据隐藏和封装。学生必须有名字、姓氏、年龄和班级项目,但这些变量不能直接访问。我们必须定义一些函数,例如get_firstname()set_firstname(),get_age()set_age()等来检索和更新变量值,以及一个to_string()以这种格式(年龄、名字、姓氏、班级)显示学生详细信息的函数。从控制台输入四个参数,并使用我们定义的setter方法设置它们,并使用getter方法显示每个项目,最后使用to_string()方法。
所以,如果输入是这样的
priyam kundu 16 10
那么输出将是
16 priyam kundu 10 (16, priyam, kundu, 10)
示例
让我们看看以下实现以获得更好的理解-
#include#include 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)