已知X类中的一个成员函数说明如下: void Set(X*a); 其中,X*a的含义是()。A.a是指向X类对象的指针,用来作为Set()的形参B.将X*a的计算结果传递给Set()函数C.a是X类对象的引用,用来做为Set()的形参D.其它都不对

题目

已知X类中的一个成员函数说明如下: void Set(X*a); 其中,X*a的含义是()。

A.a是指向X类对象的指针,用来作为Set()的形参

B.将X*a的计算结果传递给Set()函数

C.a是X类对象的引用,用来做为Set()的形参

D.其它都不对


相似考题

2.使用VC6打开考生文件夹下的工程test30_3。此工程包含一个test30_3.cpp,其中定义了类A、A1和A2,其中A1类由 A类公有派生,A2类由A1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。(1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。请在注释“//** 1**”之后添加适当的语句。(2)定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值给数据成员b,将y作为基类A构造函数的参数值传入。请在注释“//**2**”之后添加适当的语句。(3)定义类A2的构造函数,该构造函数有三个整型的参数x,y和2,在构造函数中请将x赋值给数据成员c,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//**3**”之后添加适当的语句。(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“//**4**”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。程序输出结果如下:96962源程序文件test30_3.cpp清单如下:include <iostream.h>class A{int a;public://** 1 **int geta() {return a;}};class A1:public A{int b;public://** 2 **int getb() {return b;}};class A2:public A1{int c;public://** 3 **void show(){//** 4 **}};void main(){A2 a(2,6,9);cout<<a.geta ( ) <<end1;cout<<a, getb ( ) <<end1;a. show( );}

参考答案和解析
a是指向X类对象的指针,用来作为Set()的形参
更多“已知X类中的一个成员函数说明如下: void Set(X*a); 其中,X*a的含义是()。”相关问题
  • 第1题:

    阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。

    【说明】Point是平面坐标系上的点类,Line是从Point派生出来的直线类。

    include <iostream.h>

    class Point

    {public:

    Point (int x, int y) ;

    Point (Point &p) ;

    ~Point();

    void set (double x, double y) ;

    void print();

    private:double X,Y;

    };

    Point::Point (int x, int y) //Point 构造函数

    {X=x; Y=y; }

    Point::Point ( (1) ) //Point 拷贝构造函数

    {X=p.X; Y=p.Y;}

    void Point::set (double x, double y)

    {X=x; Y=y; }

    void Point::print()

    {cout<<' ('<<X<<","<<Y<<") "<<endl; }

    Point::~Point()

    {cout<<"Point 的析构函数被调用! "<<endl;

    class Line: public Point

    {public:

    Line (int x, int y, int k) ;

    Line (Line &s) ;

    ~Line();

    void set (double x, double y, double k)

    void print();

    private:double K;

    };

    (2)//Line 构造函数实现

    { K=k;}

    (3)//Line 拷贝构造函数实现

    {K=s.K;}

    void Line::set (double x, double y, double k)

    { (4);

    K=k;

    }

    void Line::print()

    {cout<<" 直线经过点";

    (5);

    cout<<"斜率为: k="<<K<<endl;

    }

    Line: :~Line()

    {cout<<"Line 析构函数被调用! "<<endl;

    }

    void main()

    {Line 11 (1,1,2) ;

    11 .print();

    Linel2 (11) ;

    12.set (3,2,1) ;

    12.print();

    }


    正确答案:(1)Point &p (2)Linc::Line(int xint y int k):Point(xy) (3)Line::Line(Line &s):Point(s) (4)Point::set(x y) (5)Point::print()
    (1)Point &p (2)Linc::Line(int x,int y, int k):Point(x,y) (3)Line::Line(Line &s):Point(s) (4)Point::set(x, y) (5)Point::print() 解析:(1)Point &p
    Point拷贝构造函数的形参必须是Point对象的引用。
    (2)Linc::Line(int x,int y, int k):Point(x,y)
    Line的构造函数必须先调用Point构造函数构造Line的基类Point。
    (3)Line::Line(Line &s):Point(s)
    Line的拷贝构造函数必须先调用Point拷贝构造函数来构造并复制Line对象的基类 Point部分。
    (4)Point::set(x, y)
    Line的set成员函数必须通过Point的set成员函数才能访问基类的私有成员。而且在 set名前必须加成员名限定Point::,以区别Line的set函数。
    (5)Point::print()
    Line的print成员函数必须通过Point的print成员函数才能访问打印基类的私有成员。而且在print名前必须加成员名限定Point::,以区别Line的print函数。

  • 第2题:

    有一个类A,以下为其构造函数的声明,其中正确的是( )。

    A.void A (int x){...}

    B.A (int x){...}

    C.a(int x){...}

    D.void a (int x){…}


    正确答案:B

  • 第3题:

    已知类Sample中的一个成员函数说明如下: void Set(Sample &a); 其中,Sample &a的含义是(58)。

    A.指向类Sample的指针为a

    B.将a的地址值赋给变量Set

    C.a是类Sample的对象引用,用来作函数Set( )的形参

    D.变量Sample与a按位相与作为函数Set( )的参数


    正确答案:C
    解析:本题考查类中函数声明的方法。由题目中的代码我们可以看到,在函数Set()里面有一个形参a,其类型是Sample,符号&表示参数a是一个引用,因此,Sample&a就表示a是类Sample的对象引用。

  • 第4题:

    类模板templateclass x{…},其中友元函数f对特定类型T(如int),使函数f(x)成为x

    类模板template<class T>class x{…},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为( )。

    A.friend voidf();

    B.friend voidf(x<T>);

    C.friend voidA::f();

    D.friend void C<T>::f(x<T>);


    正确答案:B
    解析: 声明一个函数模板的格式:template模板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。

  • 第5题:

    下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

    A.语句①是类MyClass 的构造函数的定义

    B.语句②和③实现类成员函数的重载

    C.语句④实现对类成员变量x的更新操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:在C++中构造函数没有返回类型,所以语句①是错误的。语句②和语句③在进行f(x,y)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

  • 第6题:

    类模板templateclass x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则

    类模板template<class T>class x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则其说明应为( )。

    A.friend void f();

    B.friend void f(x<T>&)

    C.friend void A::f();

    D.friend void C<T>::f(x<T>&):


    正确答案:A

  • 第7题:

    已知类X的定义如下,为了实现将对象成员k的值修改为678,下面的哪条语句是正确的 ______。 class X{ private: int k; public: K(int n){k=n;} set(int n){k=m;} }; void fun(){ X a(10),*p=&a; ______ }

    A.p->set(678);

    B.X(678):

    C.p->k=678;

    D.p.set(678);


    正确答案:A

  • 第8题:

    已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。

    • A、void print()const
    • B、const void print()
    • C、void const print()
    • D、void print(const)

    正确答案:A

  • 第9题:

    假定AB为一个类,则()为该类的拷贝构造函数的原型说明。

    • A、 AB(AB x)
    • B、 AB(AB& x)
    • C、 void AB(AB& x)
    • D、 AB(int x)

    正确答案:B

  • 第10题:

    假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。

    • A、x.a
    • B、x.a()
    • C、x—)a
    • D、x-)a()

    正确答案:B

  • 第11题:

    已知类A中的一个成员函数的说明如下:voidSet(A&a);则该函数的参数“A&a”的含义是()。

    • A、指向A的指针为a
    • B、将变量a的地址赋给类A
    • C、类A对象引用a用作函数的形参
    • D、变量A与a按位与后作函数参数

    正确答案:C

  • 第12题:

    单选题
    假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为:()
    A

     x.a

    B

     x.a()

    C

     x->a

    D

     x->a()


    正确答案: D
    解析: 暂无解析

  • 第13题:

    类模板templateclass x{...},其中,友元函数f对特定类型T(如int),使函数 f(x);成为

    类模板template<class T>class x{...},其中,友元函数f对特定类型T(如int),使函数 f(x<int>);成为x<int>模板类的友元,则其说明为( )。

    A.friend void f();

    B.friend void f(x<T>);

    C.friend void A:: f()

    D.friend void C<D:: f(x<T>);


    正确答案:B

  • 第14题:

    下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

    class MyClass { publiC: void MyClass(int a) //①

    { x=a; ) int func(int a,int b) //②

    { x=a; y=b; } int func(int a,int b,int c=0) //③

    { x=a; y=b; z=c; } static void resetValue() //④

    { x=0; } private: int X,y,Z; };

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量x的清零操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

  • 第15题:

    有一个类A,下面为其构造函数的声明,其中正确的是( )。

    A.void A(int x){...}

    B.A(int x){...}

    C.a(int x){...}

    D.voida(int x){...}


    正确答案:B

  • 第16题:

    已知类 Sample中的一个成员函数说明如下: void Set (Sample &a); 其中,Sample&a的含意是( )。

    A.指向类Sample 的指针为a

    B.将a的地址值赋给变量Set

    C.a是类Smple的对象引用,用来作函数Set() 形参

    D.变量Sample与a按位相与作为函数Set()的参数


    正确答案:C

  • 第17题:

    有一个类A,下列为其构造方法的声明,其中正确的是

    A.void A(int x){…}

    B.A(int x){…}

    C.a(int x){…}

    D.void a(int x){…}


    正确答案:B
    解析:构造方法有以下特点,①构造方法名必须与类名相同。②构造方法是给对象赋初值,所以没有返回值,且不用void来声明。③构造方法不能被程序调用。④构造方法可由编程人员在类中定义,默认时由Java语言自动生成。⑤构造方法可以重载实现不同的初始化方法,调用时按参数列表决定调用哪个方法。选项A)voidA(intx){…{,构造方法是给对象赋初值,所以没有返回值,且不用void来声明。选项C)a(intx){…{,构造方法方法名必须与类名相同。

  • 第18题:

    有如下程序:includeusing namespace std;class MyClass{public:MyClass(int x):val(

    有如下程序: #include<iostreanl> using namespace std; class MyClass{ public: MyClass(int x):val(x){ } void Set(int x){val=x;} void Print( )eonst{eout<<"val="<<val<<'\t';} private: int val; }; int main( ){ eonst MyClass objl(10); MyClass obj2(20); objl.Print(); //语句1 obj2.Print( ); //语句2 objl.Set(20); //语句3 obj2.Set(30); //语句4 return 0; } 其主函数中错误的语句是

    A.语句1

    B.语句2

    C.语句3

    D.语句4


    正确答案:C

  • 第19题:

    若有以下程序段: void x(int n); void main() { void x(int n); x(5); } void x(int n){ cout<<n: } 则以下叙述不正确的是 ______。

    A.若只在子函数中对函数x进行声明,则只能在主数中正确调用函数x

    B.若只在子函数前面对函数x进行声明,则其后的所有函数中都可以正确调用函数x

    C.对于以上程序,编译时系统会提示出错信息:提示对x函数重复声明

    D.函数x无返回值,所以可用void定义x的函数类型


    正确答案:C

  • 第20题:

    假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为:()

    • A、 x.a
    • B、 x.a()
    • C、 x->a
    • D、 x->a()

    正确答案:B

  • 第21题:

    关于重载(overload)与覆盖(override)的说法正确的是()。

    • A、如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的函数名,那么称子类对父类的f(x)进行了覆盖
    • B、如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的基调,那么称子类对父类的f(x)进行了重载
    • C、重载导致多态,覆盖与多态无关
    • D、覆盖由动态链接实现,重载由静态链接实现。

    正确答案:D

  • 第22题:

    有如下类声明“classA{intx;……};”,则A类的成员x是()

    • A、公有数据成员
    • B、私有数据成员
    • C、公有成员函数
    • D、私有成员函数

    正确答案:B

  • 第23题:

    单选题
    已知类A中的一个成员函数的说明如下:voidSet(A&a);则该函数的参数“A&a”的含义是()。
    A

    指向A的指针为a

    B

    将变量a的地址赋给类A

    C

    类A对象引用a用作函数的形参

    D

    变量A与a按位与后作函数参数


    正确答案: C
    解析: 暂无解析

  • 第24题:

    单选题
    假定AB为一个类,则()为该类的拷贝构造函数的原型说明。
    A

     AB(AB x)

    B

     AB(AB& x)

    C

     void AB(AB& x)

    D

     AB(int x)


    正确答案: A
    解析: 暂无解析