/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:呼亚萍
* 完成日期:2015年4月6日
* 版 本 号:v1.0
*
* 问题描述:阅读程序,写出程序的运行结果并理解
* 程序输入:相应的程序
* 程序输出:不同程序的结果
*/
#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声明常数据函数
string get_name()const
{
return name;
}
int get_score()const
{
return score;
}
private:
string name;
int score;
};//下面的const表明student类的对象的常引用
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;
}
运算结果:
#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;
}
运算结果:
#include<iostream>
using namespace std;
class Test
{
public:
static int fun();
static void sfun(Test &r);
private:
static int val;
int a;
};
int Test::val=20;
int Test::fun()
{
val+=val;
return val;
}
void Test::sfun(Test &r)
{
r.a=25;
cout<<"Result3="<<r.a<<endl;
}
int main()
{
cout<<"Result1="<<Test::fun()<<endl;
Test a;
cout<<"Result2="<<a.fun()<<endl;
Test::sfun(a);
return 0;
}
运算结果:
知识点总结:
定义const函数时需要注明const,在定义static函数时不需要注明static;
学习心得:
阅读程序加深理解,要坚持阅读程序。