LHL'S 实验4. 类和对象(二)

本文介绍了四个C++编程练习,涉及类的构造函数、成员函数以及对象的使用。练习涵盖Tree类的构造和成员函数实现,闰年的判断,Dog类的设计,Ellipse椭圆类的面积计算,以及多功能的MyTime类的构造和时间操作。通过这些实例,加深了对C++类和对象的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6-1 Tree类的构造函数和成员函数 (10分)

定义一个Tree(树)类,有成员ages(树龄),不带参数的构造函数对ages初始化为1,成员函数grow(int years)对ages加上years,age()显示tree对象的ages的值。

Tree类声明如下:
class Tree {
public:
Tree();//构造函数
void grow(int years);//对数龄ages加上years
void age();//显示数龄ages的值
private:
int ages;//树龄
};

请实现Tree类的构造函数和成员函数。

裁判测试程序样例:
#include
using namespace std;

class Tree {
public:
Tree();//构造函数
void grow(int years);//对数龄ages加上years
void age();//显示数龄ages的值
private:
int ages;//树龄
};

int main()
{
Tree tree;
int years;
cin >> years;
tree.grow(years);
tree.age();

return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:
30

输出样例:
31

Tree::Tree()//构造函数
{
   
  ages=1;
}
 void Tree::grow(int years)//对数龄ages加上years
{
   
   ages+=years;
}
 void Tree::age()//显示数龄ages的值
{
   
   cout<<ages;
   }

7-1 类的定义final (20分)

定义一个类DDate,内有数据成员year、month和day,分别代表年、月、日,并若干有成员函数:构造函数用于初始化数据成员,isLeap函数用于闰年的判断。编写主函数:创建日期对象,判断该年是否是闰年。

以上类名和函数名,均须按照题目要求,不得修改

输入格式:
每组测试数据仅包含一个测试用例,每个测试用例占一行包括三个数,分别表示年、月、日。

输出格式:
如果该年是闰年则输出yes,不是则输出no。

输入样例:
2006 3 5

输出样例:
no

#include <iostream>
using namespace std;

class DDate 
{
   //LHL
	int year,month,day;
	public:
	void init(int y,int m,int d)
	{
   //LHL
		year=y;
		month=m;
		day=d;
	}
	int  isLeap()
	{
   
		if(year%4==0&&year%100!=0||year%100==0)
		return 1;
		else return 0;	
	}//LHL

	
};

int main()
{
   
    DDate date;//LHL
    int year,month,day;
    cin>>year>>month>>day;
    date.init(year,month,day);
    if(date.isLeap())
    printf("yes");
    else printf("no");
    
    return 0;
}


7-2 设计带构造函数的Dog类 (20分)
题目内容:

设计一个Dog类,包含name、age、sex和weight等属性,在有参数的构造函数中对数据成员进行初始化。

公有成员函数有:GetName()、GetAge()、GetSex()和GetWeight()可获取名字、年龄、性别和体重。

编写成员函数speak() 显示狗的叫声。

编写主函数,输入狗的名字、年龄、性别和体重;声明Dog对象并用输入的数据通过构造函数初始化对象,通过成员函数获取狗的属性并显示出来。

输入格式:
狗的信息

输出格式:
狗的信息,外加叫声

输入样例:
jack 3 m 2.1

输出样例:
jack
3
m
2.1
wang!wang!

#include<iostream>  //LHL
#include<cstring>  
using namespace std
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值