定义一个日起类date,有年、月、日信息,有构造函数、设置年月日、显示日期及比较两个日期是否相等。再定义一个student类,类中有姓名(21个字符的字符数组) ,缴费日期、年龄,有构造函数、设置姓名、年龄和缴费时间的函数、显示姓名、年龄和缴费时间的函数。最后用一个主函数创建一个Student对象并使用其中的设置姓名、年龄和缴费时间间,并将姓名、年龄和缴费时间显示到屏幕上。
#include<iostream> #include<time.h> #include<string> #include <cstring> #include<sstream> using namespace std; string Int_to_String(int n) { ostringstream stream; stream << n; //n为int类型 return stream.str(); } class DATE { public: string year, month, day; DATE(); void set_data(); void compare(string year1, string month1, string day1, string year2, string month2, string day2); }; DATE::DATE() { } void DATE::set_data() { struct tm t; //tm结构指针 time_t now; //声明time_t类型变量 time(&now); //获取系统日期和时间 localtime_s(&t, &now); //获取当地日期和时间 year = Int_to_String(t.tm_year + 1900); month = Int_to_String(t.tm_mon + 1); day = Int_to_String( t.tm_mday); } void DATE::compare(string year1, string month1, string day1, string year2, string month2, string day2) { int a; a = (year1 == year2) && (month1 == month2) && (day1 == day2); if (a > 0) cout << "两个日期相等" << endl; else cout << "两个日期不相等" << endl; } class Student { char name[21]; string year,month,day; int age; public: Student(char* na, int a); void set_message(string ye, string mon, string da); void display(); }; Student::Student(char* na, int a) { strcpy_s(name, strlen(na)+1,na); age = a; } void Student::set_message(string ye,string mon,string da) { //strcpy_s(name, strlen(na) + 1, na); //age = a; year = ye; month = mon; day = da; } void Student::display() { cout << "学生姓名: " <<name<< endl; cout << "学生年龄: " << age << endl; cout << "提交日期: " << year<<" 年"<<month<<" 月"<<day<<" 日" << endl; } int main() { DATE date; char aa[20] = "godzilla"; date.set_data(); Student ss( aa, 20); ss.set_message(date.year, date.month, date.day); ss.display(); }
原文:https://www.cnblogs.com/a-runner/p/14659768.html