第五周 课后实践--阅读程序(3,4,5,6)

来源:互联网 发布:安卓数独源码 编辑:程序博客网 时间:2024/06/11 01:50


问题及代码:

/**Copyright (c) 2015,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2015年04月08日*版本号:v1.0**问题描述:本周再补充三个和指针有关的阅读程序,进一步掌握指针工作的原理。友情提醒:画出内存,让程序的分析,在理性、有序中完成。如果有时间的变化,博客中加个自己画的图。可以在上机时通过单步执行,进一步和你在人脑中运行程序的过程进行对照。*输入描述:略*程序输出:略*/#include <iostream>using namespace std;class Time{public:    Time(int,int,int);    void output_time( );    int hour;    int minute;    int sec;};Time::Time(int h,int m,int s){    hour=h;    minute=m;    sec=s;}void Time::output_time( ){    cout<<hour<<":";    cout<<minute<<":" <<sec<<endl;}int main( ){    Time t1(10,13,56);    int *p1=&t1.hour; //指向数据成员的指针    cout<<*p1<<endl;    t1.output_time( );    Time *p2=&t1; //指向对象的指针    p2->output_time( );    void (Time::*p3)( ); //指向成员函数的指针    p3=&Time::output_time;    (t1.*p3)( );    return 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干神马?__常数据成员___________    void set_student( const string& nm, int sc = 0 )    {        name = nm;        score = sc;}    //(2)下面的const分别干神马?_____1.常引用 2.声明常成员函数______    const string& get_name() const    {        return name;}    int get_score() const    {        return score;    }private:    string name;    int score;};//(3)下面的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{   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;}


 

运行结果:

0 0
原创粉丝点击