C++ 类与对象练习 1

本文介绍了如何在C++中使用类定义,包括私有和公有数据成员、构造函数、成员函数的实现,以及正方形类的边长、周长和面积计算。实例展示了学生类(成绩)、日期类(年月日)和正方形类的应用。
摘要由CSDN通过智能技术生成

程序功能:程序中已经定义了学生类Student,但类Student的定义并不完整,请按下列要求完成相应操作,实现程序功能。

(1)定义私有数据成员chinese、math和english分别用于表示语文、数学和英语的成绩,它们都是float型的数据。

(2)完成学生类Student的构造函数的定义,把数据成员chinese、math和english分别初始化为参数c,m,e的值。

(3)完成成员函数sum的类定义,求Student对象的总分并输出到屏幕上。

(4)完成成员函数average的类外定义,求Student对象的平均分并输出到屏幕上。

(5)完善主函数的编码,定义Student类对象stud,并向其分别发送sum消息和average消息,程序运行结果如下。

总分:233

平均分:77.6667

#include<iostream>
using namespace std;
class Student{
public:
	Student(float c, float m, float e)
	{
		this->chinese = c;  //this为指向调用函数的对象实例的指针常量
		this->math = m;
		this->english = e;
	}
	void sum() const
	{
		cout << "总分:" << chinese + math + english << endl;
	}
	void average() const
	{
		cout << "平均分:" << (chinese + math + english)/3 << endl;
	}
private:
	float chinese, math, english;
};
int main()
{
	Student stud(77,78,78);
	stud.sum();
	stud.average();
	return 0;
}

 --------------------------------------------------------------------------------------------------------------------------------

程序功能:在程序中定义用于表示日期的类Date,请按下列要求完成相应操作,实现程序功能。

(1)定义类Date的私有数据成员year、month和day,分别表示年、月、日,它们都是int数据类型。

(2)定义类Date的公有默认构造函数Date,使Date对象的默认值为:year=1,month=1,day=1。

(3)定义类Date的公有带参构造函数Date(int y,int m,int d),把数据成员year、month和day分别初始化为参数y,m,d的值。

(4)完成Date类的公有成员函数void print()的类外定义,使其以“×年×月×日”的格式将Date对象的值输出到屏幕上。

(5)编写主函数,定义Date类对象national_day并向其发送print消息,程序运行结果如下:

1949年10月1日

#include<iostream>
using namespace std;
class Date {
public:
	void print();  //类内声明
	Date()  //无参构造
	{
		year = month = day = 1;
	}
	Date(int y, int m, int d)  //带参构造
	{
		year = y;
		month = m;
		day = d;
	}
private:
	int year, month, day;
};
 void Date::print()  //类外定义
{
	 printf("%d年%d月%d日\n",year,month,day);  //这里用cout太麻烦了
}
int main()
{
	Date national_day(1949,10,1);
	national_day.print();
	return 0;
}

 --------------------------------------------------------------------------------------------------------------------------------

程序功能:在程序中定义用于表示正方形的类Square,请按下列要求完成相应操作,实现程序功能。

(1)定义类Square的私有数据成员r、p和s,分别表示正方形的边长、周长和面积,它们都是float数据类型。

(2)定义类Square的公有构造函数Square (float d=0)的定义,当参数缺省时将数据成员r的值设置为0,否则设置为参数d的值。

(3)定义类Square的公有成员函数void perimeter(),计算周长。(注:正方形的周长为: l=4*r)

(4)定义类Square的公有成员函数void area(),计算面积。(注:正方形的面积为: l=r*r)

(5)完成类Square的公有成员函数void print()的类外定义,输出square对象的边长、周长和面积。

(6)编写主函数,创建square对象并初始化为4.0,然后向square对象发送perimeter消息。程序运行结果如下。

边长:4

周长:16

面积:16

#include<iostream>
using namespace std;
class Square
{
public:
	Square()
	{
		this->r = 0;  //this指针指向 被调用的成员函数 所属的对象
	}
	Square(float d)
	{
		this->r = d;
	}
	void perimeter()
	{
		this->p = r * 4;
	}
	void area()
	{
		this->s = r * r;
	}
	void print() const  //const表示函数中不可修改成员属性
	{
		cout << "边长:" << r << endl;
		cout << "周长:" << p << endl;
		cout << "面积:" << s << endl;
	}
private:
	float r, p, s;
};
int main()
{
	Square sq(4.0);
	sq.perimeter();  //别忘了调用函数计算
	sq.area();
	sq.print();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值