全部知识点
第6201题
有如下类定义和变量定义,下列语句中正确的是()。
class Parents {
public:
int publicData;
private:
int privateData;
};
class ChildA: public Parents {/*类体略*/};
class ChildB: private Parents {/*类体略*/};
ChildA a;
ChildB b;
第6202题
通过派生类的对象可直接访问其()。
第6203题
有如下程序,在标注号码的四条语句中正确的是()。
#include<iostream>
using namespace std;
class AA {
int k;
protected:
int n;
void setK(int k){this->k=k;}
public:
void setN(int n){this->n=n;}
};
class BB:public AA {/*类体略*/};
int main() {
BB x;
x.n=1; //1
x.setN(2); //2
x.k=3; //3
x.setK(4); //4
return 0;
}
第6204题
有如下两个类定义,在类YY中保护成员变量的个数是()。
class XX{
private:
double x1;
protected:
double x2;
public:
double x3;
};
class YY: protected XX{
private:
double y1;
protected:
double y2;
public:
double y3;
};
第6205题
有如下程序,下列叙述中正确的是()。
#include<iostream>
using namespace std;
class Music{
public:
void setTitle(char* str){strcpy(title, str);}
protected:
char type[10];
private:
char title[20];
};
class Jazz: public Music{
public:
void set(char* str){
strcpy(type,"Jazz"); //①
strcpy(title,str); //②
}
};
第6206题
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。
第6207题
下列关于派生类和基类的描述中,正确的是()。
第6208题
有如下程序,下列关于程序编译结果的描述中,正确的是()。
#include<iostream>
using namespace std;
class Base {
public:
int data;
};
class Derived1 :public Base {};
class Derived2 :protected Base {};
int main() {
Derived1 d1;
Derived2 d2;
d1.data = 0; //①
d2.data = 0; //②
return 0;
}
第6209题
有如下程序,运行这个程序的输出结果是()。
#include<iostream>
using namespace std;
class XX{
int x;
public:
XX(int xx=0):x(xx){}
int getX() {return x;}
};
class YY: public XX{
int y;
public:
YY(int xx, int yy):XX(xx),y(yy){}
int getV() {return getX()+y;}
};
int main(){
YY c(3,4);
cout<<c.getV()+c.getX()<<endl;
return 0;
}
第6210题
有如下程序,编译时有错误的是()。
#include<iostream>
using namespace std;
class Media{
pub
lic:
void Name(){}
void Show(){}
protected:
int page;
};class Book: private Media{
public:
void Print() { cout<<page<<endl; }
void Show() { Media::Show(); } //①
};
int main(){
Book Bible;
Bible.Name(); //②
Bible.Print(); //③
Bible.Show(); //④
return 0;
第6211题
有如下程序,执行后的输出结果是()。
#include<iostream>
using namespace std;
class A {
public:
A(){cout<<"A";}
};
class B:public B{cout<<"B";}
class C:public A {
B b;
public:
C(){cout<<"C";}
};
int main(){ C obj; return 0;}
第6212题
有如下程序,执行这个程序的输出结果是()。
#include<iostream>
using namespace std;
class A {
public:
A(){ cout<<"A";}
~A(){ cout<<"~A";}
};
class B: public A {
A* p;
public:
B(){ cout<<"B"; p=new A();}
~B(){ cout<<"~B"; delete p;}
};
int main(){
B obj;
return 0;
}
第6213题
有如下程序,执行这个程序屏幕上将显示输出()。
#include<iostream>
using namespace std;
class Base{
protected:
Base() {cout<<"A";}
Base(char c){cout<<c;}
};
class Derived:public Base{
public:
Derived(char c){cout<<c;}
};
int main(){
Derived d1('B');
return 0;
}
第6214题
在一个派生类对象结束其生命周期时()。
第6215题
有如下程序,运行时输出的结果是()。
#include<iostream>
using namespace std;
class A
{
public:
A(int i):x(i){}
void dispa(){cout<<x<<',';}
private:
int x;
};
class B:public A
{
public:
B(int i):A(i+10){x=i;}
void dispb(){dispa(); cout<<x<<endl;}
private:
int x;
};
int main()
{
B b(2);
b.dispb();
return 0;
}
第6216题
有如下程序,运行时的输出结果是()。
#include<iostream>
using namespace std;
class Base{
int x;
public:
Base(int n=0):x(n){cout<<n;}
int getX() const{return x;}
};
class Derived:public Base {
int y;
public:
Derived(int m,int n):y(m),Base(n){cout<<m;}
Derived(int m):y(m){cout<<m;}
};
int main(){
Derived d1(3),d2(5,7);
return 0;
}
第6217题
有如下程序,运行时的输出结果是()。
#include<iostream>
using namespace std;
class AA{
public:
AA(){ cout<<'1'; }
};
class BB: public AA{
int k;
public:
BB():k(0) { cout<<'2'; }
BB(int n):k(n) { cout<<'3'; }
};
int main(){
BB b(4), c;
return 0;
}
第6218题
有如下程序,运行时的输出结果是()。
#include<iostream>
using namespace std;
class Base{
public:
Base(int x=0): valB(x){cout<<valB;}
~Base(){cout<<valB;}
private:
int valB;
};
class Derived:public Base{
public:
Derived(int x=0,int y=0):Base(x),valD(y){cout<<valD;}
~Derived(){cout<<valD;}
private:
int valD;
};
int main(){
Derived obj12(2,3);
return 0;
}
第6219题
生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。
第6220题
有如下程序,运行时的输出结果是()。
#include<iostream>
using namespace std;
class Base1 {
public:
Base1(int d) {cout<<<d;}
~Base1() {}
};
class Base2 {
public:
Base2(int d) {cout<<<d;}
~Base2() {}
};
class Derived: public Base1,Base2 {
public:
Derived(int a,int b,int c,int d):
Base1(b), Base2(a), b1(d), b2(c) {}
private:
int b1;
int b2;
};
int main(){
Derived d(1,2,3,4);
return 0;
}