鱼C论坛

 找回密码
 立即注册
查看: 1111|回复: 0

这代码在VS2005上运行正确,可在VS2013上却运行不对,为什么?

[复制链接]
发表于 2015-7-1 00:06:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <iostream>
#include "1.h"

//得到当前所有学员的当前平均分,学员的分数是填写在构造的形参上的

CStudent s1(75);

void main()
{
        std::cout << CStudent::GetAvgScore() << std::endl;

        CStudent s2(80);
        std::cout << CStudent::GetAvgScore() << std::endl;

        CStudent* s3 = new CStudent(85);
        std::cout << CStudent::GetAvgScore() << std::endl;

        CStudent** s4 = new CStudent*[3];
        s4[0] = new CStudent(60);
        s4[1] = new CStudent(65);
        s4[2] = new CStudent(70);
        std::cout << CStudent::GetAvgScore() << std::endl;

        delete s3;
        std::cout << CStudent::GetAvgScore() << std::endl;

        delete s4[0];
        std::cout << CStudent::GetAvgScore() << std::endl;

        delete s4[1];
        std::cout << CStudent::GetAvgScore() << std::endl;

        delete s4[2];
        std::cout << CStudent::GetAvgScore() << std::endl;

        delete s4;

        system("pause");
}
//声明部分
#ifndef _STUDENT_H_
#define _STUDENT_H_

class CStudent
{
        static double zongfen;
        static double renshu;
        double fenshu;
public:
        CStudent(double a);
        ~CStudent();
        static double GetAvgScore();
};

#endif
//定义部分
#include "1.h"
#include <iostream>

double CStudent::zongfen;
double CStudent::renshu;

CStudent::CStudent(double a)
        :
fenshu(a)
{
        zongfen += a;
        renshu += 1;
}

CStudent::~CStudent()
{
        renshu -= 1;
        zongfen -= fenshu;
}

double CStudent::GetAvgScore()
{
        return (zongfen / renshu);
}
求解
正确输出如下:
75
77.5
80
72.5
70
72.5
75
77.5
请按任意键继续. . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 03:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表