第十周刷OJ题 驾驭const(常对象成员)

来源:互联网 发布:淘宝客 api sdk下载 编辑:程序博客网 时间:2024/05/01 17:26

题目描述

引入了const关键词,用于指定“常”对象及“常”对象成员,提供了对数据的一种保护机制,这C++语言的特色之一。但由此,也引出了一些语法上的要求。这些语法要求,实际上有一套完善的原则,需要熟知。
下面的程序,要利用输入的两个数创建一个对象,并调用printxy成员函数输入两数之和。下面的程序中,begin到end部分需要改动三处,才能保证程序符合要求并正确输出。请你找出并修改过来,提交begin到end部分的代码。
#include <iostream>
using namespace std;
class Test
{
private:
    int x;
    const int y;
//************* begin *****************
public:
    Test(int a, int b);
    void printxy();   //(1)
} ;
Test::Test(int a, int b){x=a;y=b;}  //(2)
void Test::printxy()   //(3)
{
    cout<<"x*y="<<x*y<<endl;
}
//************* end *****************
int main()
{
    int x1,x2;
    cin>>x1>>x2;
    const Test t(x1,x2);
    t.printxy( );
    return 0;
}

 

代码如下

#include <iostream>using namespace std;class Test{private:    int x;    const int y;//************* begin *****************public:    Test(int a, int b);    void printxy() const;   //(1)} ;Test::Test(int a, int b):y(b){x=a;}  //(2)void Test::printxy() const   //(3){    cout<<"x*y="<<x*y<<endl;}//************* end *****************int main(){    int x1,x2;    cin>>x1>>x2;    const Test t(x1,x2);    t.printxy( );    return 0;}


学习心得

原来是第一次用上const对象成员 竟然完全不会!!

(2)的修改非常关键!

0 0
原创粉丝点击