• 自考新教材--p100(2)


    源程序:

    #include <iostream>

    #include <string>

    using namespace std;

    class myDate

    {

    private:

    int year, month, day;

    public:

    myDate();

    void setDate(int y,int m,int d)

    {

    year = y;

    month = m;

    day = d;

    }

    void setDate(myDate dd)

    {

    year = dd.year;

    month = dd.month;

    day = dd.day;

    }

    myDate(int, int, int);

    void printDate() const;

    };

    myDate::myDate() :year(1990), month(9), day(19) {}

    myDate::myDate(int y, int m, int d)

    {

    year = y;

    month = m;

    day = d;

    }

    void myDate::printDate() const

    {

    cout << "year:" << year << "month:" << month << "day:" << day << endl;

    }

    class Student

    {

    public:

    Student();

    Student(string);

    void setStudent(string,myDate);

    void setStudent(string);

    void setName(string);

    string getName();

    void setBirthday(myDate);

    myDate getBirthday();

    void printStudent() const;

    private:

    string name;

    myDate birthday;

    };

    Student::Student() :name("Noname"), birthday(myDate()) {}

    Student::Student(string n) : name(n), birthday(myDate()) {}

    void Student::setStudent(string s, myDate d)

    {

    name = s;

    birthday.setDate(d);

    return;

    }

    void Student::setStudent(string s)

    {

    name = s;

    myDate d;

    birthday.setDate(d);

    return;

    }

    void Student::setName(string n)

    {

    name = n;

    return;

    }

    string Student::getName()

    {

    return name;

    }

    void Student::setBirthday(myDate d)

    {

    birthday.setDate(d);

    return;

    }

    myDate Student::getBirthday()

    {

    return birthday;

    }

    void Student::printStudent() const

    {

    cout << "姓名:" << name << " 生日:";

    birthday.printDate();

    cout << endl;

    }

    /*

    int main()

    {

    myDate birthday;

    Student stud;

    Student ss[2];

    int y, m, d, i;

    string name_;

    stud.printStudent();

    for (i = 0; i < 2; i++)

    ss[i].printStudent();

    for (i = 0; i < 2; i++)

    {

    cout << "请输入学生的姓名和生日,生日以"年 月 日"的次序输入:";

    cin >> name_ >> y >> m >> d;

    ss[i].setStudent(name_, myDate(y, m, d));

    }

    for (i = 0; i < 2; i++)

    ss[i].printStudent();

    system("pause");

    return 1;

    }

    */

    int main()

    {

    Student stud;

    stud.printStudent();

    stud.setName("chen");

    stud.printStudent();

    Student *spointer[2] = {new Student(),&stud};//使用构造函数生成对象指针数组

    Student sy[2] = {Student(),stud};

    for (int i = 0; i < 2; i++)

    spointer[i]->printStudent();

    for (int i = 0; i < 2; i++)

    sy[i].printStudent();

    stud.setName("wang");

    for (int i = 0; i < 2; i++)

    spointer[i]->printStudent();

    spointer[0]->setName("liang");

    spointer[1]->setName("liu");

    for (int i = 0; i < 2; i++)

    spointer[i]->printStudent();

    stud.printStudent();

    for (int i = 0; i < 2; i++)

    sy[i].printStudent();

    system("pause");

    return 1;

    }

    运行结果:

  • 相关阅读:
    ASP.NET 3.5 的 ListView 控件与 CSS Friendly
    从 Adobe SHARE 说到 Silverlight 的 XPS 支持
    编写 iPhone Friendly 的 Web 应用程序 (Part 5 交互入门)
    初为项目经理
    管理的最高境界不是完美
    url传递中文的解决方案总结
    我想跟什么样的人合作
    异步Socket通信总结
    让机器自动支持中文文件名
    Socket基本编程
  • 原文地址:https://www.cnblogs.com/duanqibo/p/12021935.html
Copyright © 2020-2023  润新知