/* 1定义一个带重载构造函数的日期类 题目内容: 定义一个带重载构造函数的日期类Date,数据成员有年、月、日;成员函数包括:一个带参数的构造函数Date(int,int,int),一个不带参数的构造函数,一个按“年-月-日”格式显示日期的函数,一个对数据成员赋值的函数void init(int,int,int)。 主函数中对类的测试要求: 1. 分别使用两个不同的重载构造函数创建两个日期类对象(必须为d1,d2,d2初始值为2100-12-12); 2. 按“年-月-日”格式分别显示两个对象的值; 3. 输入数据,用init函数为d1赋值; 2.按“年-月-日”格式显示对象d1的值;。 输入格式: 给d1赋值的数据 输出格式: d1的默认值 d2的初始值 d1赋值后的 输入样例: 2011 4 29 输出样例: 1900-1-1 2100-12-12 2011-4-29*/ #include<iostream> #include<string> #include<stdlib.h> using namespace std; class Date { int year; int month; int day; public: Date():year(1900),month(1),day(1){}; Date(int,int,int):year(2100),month(12),day(12){}; void Print(); void init(int,int,int); }; void Date::Print(){ cout<<year<<"-"<<month<<"-"<<day<<endl; } void Date::init(int year,int month,int day){ this->year=year; this->month=month; this->day=day; } int main() { Date *d1=new Date(); Date *d2=new Date(2,1,3); int year,month,day; cin>>year>>month>>day; d1->Print(); d2->Print(); d1->init(year,month,day); d1->Print(); delete d1,d2; return 0; }
/*2动态生成Person类的对象(20分) 题目内容: 编写Person类,数据成员为姓名(20字符长度)、年龄(int)和性别(char)。 编写无参数的构造函数,其中姓名赋值为“XXX”,年龄0,性别m; 编写析构函数,在其中输出字符串“Now destroying the instance of Person”; 编写Register成员函数,为数据成员赋值; 编写showme成员函数,显示姓名、年龄和性别。 编写主函数: 用Person类创建2个指针,p1和 p2; 用new创建两个Person对象,分别将指针赋值给p1,p2; 用showme成员函数显示p1,p2所指对象的值; 再输入一组“姓
计算机程序设计(C++)第10周编程作业数据的抽象和封装——类(2)——构造函数、析构函数和指向对象的指针
最新推荐文章于 2022-10-30 11:34:23 发布
本文介绍了C++编程中关于数据抽象和封装的概念,通过日期类Date的实现展示了构造函数、析构函数的用法,并涉及了指向对象的指针操作。内容包括:定义带重载构造函数的Date类,实现不同方式的日期显示、赋值功能;使用指针创建Person类对象,演示构造函数、析构函数及成员函数的使用;设计Dog类并实现相关成员函数,展示数据成员初始化和属性获取;设计Ellipse类计算椭圆面积;以及创建多功能的MyTime类进行时间设置、加减运算和格式化输出。
摘要由CSDN通过智能技术生成