程序设计与算法(三)第03周测验001:返回什么才好呢

程序设计与算法(三)第03周测验001:返回什么才好呢

本文是中国大学MOOC,北京大学程序设计与算法(三)C++面向对象程序设计第三周测验。本课程学习的github仓库欢迎Fork

  • 总时间限制:

    1000ms

  • 内存限制:

    65536kB

  • 描述

    程序填空,使其按要求输出

    #include <iostream>
    using namespace std;
    class A {
    public:
    	int val;
    	A(int
    // 在此处补充你的代码
    };
    int main()
    {
    	int m,n;
    	A a;
    	cout << a.val << endl;
    	while(cin >> m >> n) {
    		a.GetObj() = m;
    		cout << a.val << endl;
    		a.GetObj() = A(n);
    		cout << a.val<< endl;
    	}
    	return 0;
    }
    
  • 输入

    多组数据,每组一行,是整数 m 和 n

  • 输出

    先输出一行: 123 然后,对每组数据,输出两行,第一行是m,第二行是n

  • 样例输入

    2 3
    4 5
    
  • 样例输出

    123
    2
    3
    4
    5
    

填空类的题目我们先看主函数:

	int m,n;
	A a;		//定义了类A的对象a
	cout << a.val << endl;		
//输出a.val的值
//在这里我们注意到,定义的a并没有给他值
//所以这里生效的是构造函数初始化
	while(cin >> m >> n) {//输入m n
		a.GetObj() = m;	
        //这个函数类里面没有,需要我们写
        //这种样式的赋值,我们可以联想到引用
		cout << a.val << endl;//输出的是m
		a.GetObj() = A(n);//这个函数的返回构造函数A的结果
		cout << a.val<< endl;
	}
	return 0;

所以,我们可以这样写:

class A {
public:
	int val;
	A(int n=123)
    {
        val = n;
    }
    A & GetObj()
    {
        return * this;
}
// 在此处补充你的代码
};

提交,通过,记得下载通过码

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章