#include using namespace std; class Student { private: string name; // 学生姓名 int id; // 学生学号 static int count; // 班级人数 const int classID; // 班级号 (常数据成员) static int idCounter; // 静态数据成员,记录当前学生学号 public: // 构造函数 Student(string name) : name(name), id(++idCounter), classID(1001) { ++count; } // 公有成员函数,输出学生信息 void Print() const { std::cout << "名字:" << name << std::endl; std::cout << "学号:" << id << std::endl; std::cout << "班级:" << classID << std::endl; std::cout << "班级人数:" << count << std::endl; } // 友元函数声明 friend void Output(Student s); }; // 静态数据成员的定义和初始化 int Student::count = 45; int Student::idCounter = 0; // 友元函数实现,输出学生信息 void Output(Student s) { std::cout << "名字:" << s.name << std::endl; std::cout << "学号:" << s.id << std::endl; std::cout << "班级:" << s.classID << std::endl; std::cout << "班级人数:" << Student::count << std::endl; } int main() { string name1,name2; cin >> name1 >> name2; Student a(name1); Student b(name2); // a.Print(); // std::cout << std::endl; // b.Print(); // std::cout << std::endl; Output(a); std::cout << std::endl; Output(b); return 0; }