深海不见底257
2021-05-07 22:09
采纳率: 50%
浏览 2.1k

c++不允许使用类型名

#include<iostream>
using namespace std;
class student
{
public:
    student(int n,int a,int b,int c,int d,int e):num(n),za(a),zb(b),zc(c),zd(d),ze(e){}
    int sum();
    double average();
private:
    int num;
    int za;
    int zb;
    int zc;
    int zd;
    int ze;
};
int student::sum(){return(za + zb + zc + zd + ze);}
double student::average() { return((za + zb + zc + zd + ze) / 5); }
int main()
{
    student a[5] = {
        student(1001,87,88,88,89,78),
        student(1002,76,77,67,89,89),
        student(1003,99,87,98,67,87),
        student(1004,78,87,99,98,67),
        student(1005,67,87,98,89,88)
    };
    for (int i = 0; i < 5; i++)
    {
        cout << a[i].student << a[i].sum() << a[i].average();
        cout << endl;
    }
    system("pause");
    return 0;
}

输出的a[i].student一直报错是不允许使用类型名,求解,谢谢各位大佬!!!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 快乐鹦鹉 2021-05-07 22:27
    已采纳

    student类中并没有叫做student的变量啊,你到底要输出什么呢?

    已采纳该答案
    打赏 评论
  • CSDN专家-cpp_learner 2021-05-08 07:57

    student是类名,你不可以使用对象去调用类,这是违反编程语法的。

    你是不是想要下面这种输出样例?

    只需将输出代码改成如下:

    cout << "a[" << i << "].student:" << a[i].sum() << "\t" << a[i].average();
    打赏 评论
  • 有问必答小助手 2021-05-08 10:13

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论
  • 有问必答小助手 2021-05-08 14:08

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    打赏 评论

相关推荐 更多相似问题