程序功能:程序中已经定义了学生类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;
}