习题 9.7 将第6题的程序分别作以下修改,分析所修改部分的含义以及编译和运行的情况。

C++程序设计(第三版) 谭浩强 习题9.7 个人设计

习题 9.7 将第6题的程序分别作以下修改,分析所修改部分的含义以及编译和运行的情况。

(1)将main函数第2行改为 const Student stud(101, 78.5);

(2)在(1)的基础上修改程序,使之能正常运行,用change函数修改数据成员num和score的值。

代码块:

#include <iostream>
using namespace std;
class Student
{
public:
    Student(int n, float s):num(n), score(s){}
    void change(int n, float s) const
    {
        num=n;
        score=s;
    }
    void display() const
    {
        cout<<num<<" "<<score<<endl;
    }
private:
    mutable int num;
    mutable float score;
};
int main()
{
    const Student stud(101, 78.5);
    stud.display();
    stud.change(101, 80.5);
    stud.display();
    system("pause");
    return 0;
}

(3) 将main函数改为

int main()
{ Student stud(101, 78.5);
Student *p=&stud;
p->display();
p->change(101, 80.5);
p->display();
return 0;
}

(4) 在(2)的基础上将main函数第3行改为

const Student *p=&stud;

代码块:

#include <iostream>
using namespace std;
class Student
{
public:
    Student(int n, float s):num(n), score(s){}
    void change(int n, float s) const
    {
        num=n;
        score=s;
    }
    void display() const
    {
        cout<<num<<" "<<score<<endl;
    }
private:
    mutable int num;
    mutable float score;
};
int main()
{
    Student stud(101, 78.5);
    const Student *p=&stud;
    p->display();
    p->change(101, 80.5);
    p->display();
    system("pause");
    return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页