关于类和对象的一个综合练习,介绍几个知识点

关于类和对象的一个综合练习,介绍几个知识点
题目:使用静态成员函数求学生的平均成绩

#include <iostream>
using namespace std;

class Student//创建Student类
{
public:
    Student(int n,int a,float s):num(n),age(a),score(s){}//用参数初始化表对数据初始化,格式参见本例子
    void total();//公用成员函数求分数的总和,公用函数可以访问本对象中的普通数据和静态数据
    static float average();//静态函数求平均成绩,静态函数可以直接引用静态成员,不能访问非静态成员,如果一定要访问,在函数定义的时候要使用对象名和成员运算符。
private:
    int num;
    int age;
    float score;
    static float sum;//定义静态数据成员sum,注意格式
    static int count;
};


void Student::total()//类体外定义普通成员函数,普通成员函数可以访问静态数据
{
    sum+=score;
    count++;
}


float Student::average()//定义静态函数的格式产不多
{
    return(sum/count);
}


float Student::sum = 0;//不能用初始化列表对静态数据成员初始化,静态数据成员的初始化参照此格式,因为静态数据是占公共内存,所以必须在类域内初始化
int Student::count = 0;


int main()
{
    int n = 0;
    Student stu[3]={Student(100,17,86.7),//定义对象数组以及初始化的格式
                    Student(101,18,79.6),
                    Student(102,19,90.52)
                    };
    cout<<"您需要求前几名学生的平均成绩:"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    stu[i].total();
    cout<<"前"<<n<<"名同学的平均成绩为:"<<Student::average()<<endl;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值