• 自考新教材--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;

    }

    运行结果:

  • 相关阅读:
    转:阅读代码
    转:三个教程
    转:C/C++程序员简历模板
    转:对于一个字节(8bit)的变量,求其二进制表示中“1”的个数
    内存偏移
    转:用C++实现的一种插件体系结构-----概述
    转:用异或实现两个数的交换的问题
    转:二级指针
    转:《链接、装载与库》里的一个错误:关于调用栈
    转:你应当如何学习C++(以及编程)(rev#1)
  • 原文地址:https://www.cnblogs.com/duanqibo/p/12021935.html
Copyright © 2020-2023  润新知