(4)问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:陈旭
* 完成日期:2015年4月 7日
* 版 本 号:v1.0
*
* 问题描述:阅读程序,写出程序的运行结果并理解
* 输入描述:略
* 程序输出:略
*/
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student() {}
Student( const string& nm, int sc = 0 ): name(nm), score(sc){}
//(1)下面的const干神马?___下面的const将name定义为常数据成员,其不能随意修改__________
void set_student( const string& nm, int sc = 0 )
{
name = nm;
score = sc;
}
//(2)下面的const分别干神马?_第一个声明常成员函数;第二个const_是为了引用常对象中的数据成员,所以将该成员函数所做的声明。_________
const string& get_name() const
{
return name;
}
int get_score() const
{
return score;
}
private:
string name;
int score;
};
//(3)下面的const干神马?___是为了引用常对象中的数据成员,所以将该成员函数所做的声明。__________
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;
}
运行结果:
(5)问题及代码:
#include<iostream>
using namespace std;
class myClass
{
public:
myClass(){ number++;}
~myClass(){ number--;}
static int number;
};
int myClass::number=0;
int main()
{
myClass *ptr;
myClass A,B;
myClass *ptr_Arr=new myClass[3];
ptr=ptr_Arr;
myClass C;
cout<<myClass::number<<endl;
delete []ptr;
return 0;
}
运行结果:
(6)问题及代码:
#include <iostream>
using namespace std;
class Test{
private:
static int val;
int a;
public:
static int func();
static void sfunc(Test &r);
};
int Test::val=20;
int Test::func()
{
val+=val;
return val;
}
void Test::sfunc (Test &r)
{
r.a=25;
cout<<"Result3="<<r.a<<endl;
}
int main(){
cout <<"Resultl="<<Test::func()<<endl;
Test a;
cout<<"Result2="<<a.func()<<endl;
Test::sfunc (a);
return 0;
}
运行结果: