以下程序的执行结果为( )。 #include <iostream.h> class Sample { int n; public: Sample(int i) {n=i;} operator++() {n++;} //前缀重载运算符 operator++(int) {n+=2;} //后缀重载运算符 void disp() { cout<<"n="<<n<<endl; } }; void main() { Sample A(2),B(2); A++; ++B; A.disp(); A.disp(); }
A.n=4
B.n=1
C.n=3
D.n=5 n=3 n=2 n=4 n=6
第1题:
以下程序的执行结果为( )。 #include<iostream.h> Class sample { int n; public: sample(int i){n=i; } operator ++() { n++; } void display() {cout<<n<<end1; } }; void main() { sample obj(5); obj++;
A.5
B.6
C.7
D.8
第2题:
分析以下程序的执行结果【 】。
include <iostream. h>
class S{
int A[10];
public:
int &operator () (int);
};
int &S: :operator() (int x) {
return A[x];
}
void main() {
S a;
int i,j;
for (i=0; i<10; i++)
a(i)=i*2;
for (i=0; i<10; i++)
cout<<a(i)<<" ";
cout<<end1; }
第3题:
写出以下程序的执行结果 #include<iostream.h> class Sample { int n; public: Sample(int i){n=i;} friend int add(Sample &s1,Sample &s2); }; int add(Sample &s1,Sample &s2){return s1.n+s2.n;} void main() { Sample s1(10),s2(20); cout<<add(s1,s2)<<endl; }
第4题:
若有以下程序:
include <iostream>
using namespace std;
class Sample
{
private:
const int n;
public:
Sample(int i) :n(i) {)
void print()
{
cout<<"n="<<n<<end1;
}
};
int main()
{
sample a(10);
a.print();
return 0;
}
上述程序运行后的输出结果是【 】。
第5题:
以下程序的执行结果是( )。 #include<iostream.h> template<class T> class Sample { T n: public: Sample(T i) {n=i;} void operator++(); void disp(){cout<<"n="<<n<<endl;} }; template<class T> void Sample<T>::operator++() { n+=1; // 不能用n++, 因为double型不能用++ } void main() { Sample<char>s('a'); s++; s.disp(); }
A.n=a
B.a=0
C.n=b
D.a=b