问题描述:
本周再补充三个和指针有关的阅读程序,进一步掌握指针工作的原理。 友情提醒:画出内存,让程序的分析,在理性、有序中完成。如果有时间的变化,博客中加个自己画的图。 可以在上机时通过单步执行,进一步和你在人脑中运行程序的过程进行对照。
(4) 请写出程序中const出现的语法现象及其所起的作用
#include <iostream> #include <string> using namespace std; class Student { public : Student() {} Student( const string& nm, int sc = 0 ): name(nm), score(sc){} 出现在函数参数中的const 表示在函数体中不能对这个参数做修改。 void set_student( const string& nm, int sc = 0 ) { name = nm; score = sc; } 函数后面加const表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。 const string& get_name() const { return name; } int get_score() const { return score; } private : string name; int score; }; void output_student( const Student& student ) { cout << student.get_name() << "\t" ; cout << student.get_score() << endl; } int main() { Student stu( "Wang" , 85 ); output_student( stu ); return 0; } 运行结果: