以下程序的执行结果是( )。 #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>:: opetat
A.n=a
B.a=O
C.n=b
D.a=b
第1题:
以下程序的执行结果是______。
include<iostream.h>
class base
{
public:
virtual void who(){cout<<"base class"<<endl:}
};
class derrvel:public base
{
public:
void who(){cout<<"derivel class"<<endl:}
};
class derive2;public base
{
public:
void who() {cout<<"derive2 class"<<endl;}
};
void main()
{
base obj1,*P;
derive1 obj2;
derive2 obj3:
p=&obj1;
p->who();
p=&obj2:
p->who();
p=&obj3;
p->who();
}
第2题:
以下程序的执行结果为( )。 #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
第3题:
下列的模板说明中,正确的是()
A.template <typename T1, typename T2>
B.template <class T1, T2>
C.template < T1 class, T2 class >
D.template <typename T1; typename T2>
第4题:
以下程序的执行结果是【 】。
include<iostream. h>
class Sample
{
public:
int x:
int y;
void disp()
{
cout<<"x="<<x<<",y="<<y<<end1;
}
};
void main()
{
int Sample:: ** pc;
Sample s;
pc=& Sample: :x;
s.*pc=10;
pc:=&Sample: :y;
s.*pc=20;
s.disp();
}
第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