C++ 基础问题?谁能帮我详细解释下这两段代码

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:43:34
#include <iostream>
using namespace std;
class Test
{public:
void set(char ch){c=ch;}
void show(){cout<<"char in test is:"<<c<<endl;}
private:
char c;
};
int main()
{Test test1,test2;
test1.set('a'); //这句怎么理解?
test2.set('b');
test1.show();
test2.show();
return 0;
}

#include <iostream>
using namespace std;
class Test
{public:
void set(char ch){c=ch;}
void show(){cout<<"char in test is:"<<c<<endl;}
private:
char c;
};
int main()
{Test test1;
test1.set('a'); //这句怎么理解?
Test &reftest=test1; //这句怎么理解?
test1.show();
reftest.show(); //这句怎么理解?
return 0;
}

Test test1,test2;
test1.set('a'); //这句怎么理解?
test2.set('b');

这就是最基本的调用类的public成员函数啊。
public:
void set(char ch){c=ch;}

这是Test类的成员函数,test1.set('a');调用完以后,test1的成员c的值就是字符'a'。

Test &reftest=test1;
这是声明了一个Test类的引用,引用就是别名,这里reftest引用指向的是test1,那么reftest就可以看做是test1,使用reftest和使用test1是一样的。因此
test1.show();
reftest.show(); //这句怎么理解?
两条语句在屏幕上输出的结果是一样的。

test1.set('a'); 就是设定字符CH=’a‘

test1.show(); 这个就是用来输出显示的