假设定义了一个Person类,它的构造函数的函数名是什么?()A、__constructB、initializeC、personD、__Person

题目

假设定义了一个Person类,它的构造函数的函数名是什么?()

  • A、__construct
  • B、initialize
  • C、person
  • D、__Person

相似考题

3.使用VC6打开考生文件夹下的工程test4_3。此工程包含一个源程序文件test4_3.cpp,其对一个学校的教师和考生情况进行了描述。由于教师和考生之间有相同的信息,如姓名、年龄等,所以可抽象出一个基类person,考生类student和教师类teacher作为person类的派生类。请按要求完成下列操作,将程序中的类定义补充完整。(1)定义基类person的私有数据成员name和age,分别用于表示姓名和年龄,name为字符指针,age为血型的数据。请在注释“//**1**”之后添加适当的语句。(2)完成基类person的重载构造函数person(char *mint a)的定义,把数据成员name,age分别初始化为参数n,a的值,请在注释“//**2**”之后添加适当的语句。(3)根据主函数main中对s1的声明,定义派生类student的构造函数。在注释“//**3**”之后添加适当的语句。(4)完成派生类teacher成员函数void setinf(ehar *n,int a,char *d,char *1)的定义,其功能为记录教师的姓名、年龄、院,系与职称信息。请在注释“//**4**”之后添加适当的语句。输出结果如下:刘雷(45)destructor蒋军(23)destructor注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test4_3.cpp清单如下:include<iostream.h>class person{//**1**public:person(){}person(char *n,int a){//**2**}void setname(char *n){name=n;)void setage(int a){age=a;}~person(){cout<<name<<"("<<age<<")destructor"<<endl;)};class student:public person{char *department;int code;public://**3**{department=d;code=c;}};class teacher:public person{char *department;char *level;public:teacher(){}void setinf(char *n,int a,char *d,char *1){//**4**department=d;level=1;}};void main(){student s1("蒋军",23,"计算机学院",2);teacher t1;t1.setinf("刘雷",45,"计算机学院","教授");}

更多“假设定义了一个Person类,它的构造函数的函数名是什么?()A、__constructB、initializeC、personD、__Person”相关问题
  • 第1题:

    在Java语言中,假设类Worker是类Person的子类,Worker的构造方法中有一句“super();“,该语句()。

    A.调用类Worker中定义的super方法

    B.调用类Person的构造方法

    C.调用类Person中定义的super方法

    D.语法错误


    正确答案:B

  • 第2题:

    关于拷贝初始化构造函数,描述不正确的是( )。

    A.拷贝初始化构造函数是类的成员函数,函数名与类名相同。

    B.函数只有一个参数,并且是对某个对象的引用

    C.每个类都必须有一个拷贝初始化构造函数。

    D.要定义拷贝初始化构造函数,必须指定返回类型


    正确答案:D
    解析:拷贝初始化构造函数也是一个构造函数,也没有返回类型。

  • 第3题:

    假设person是一个类,p1是该类的一个对象,p2是一个指向p1的指针,getname()是其中的一个函数,则下面对象的使用不正确的是( )。

    A.person.getname();

    B.p1.getname();

    C.p1.person::getname();

    D.p2->getname();


    正确答案:A
    解析:选项B其实是选项C的一种缩写,效果相同,通过类person不能调用方法getname()。

  • 第4题:

    对于一个类定义,下列叙述中错误的是( )。

    A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数

    B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数

    C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数

    D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数


    正确答案:B

  • 第5题:

    在JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()“,该语句()。

    • A、调用类Worker中定义的super()方法
    • B、调用类Person中定义的super()方法
    • C、调用类Person的构造函数
    • D、语法错误

    正确答案:C

  • 第6题:

    在Java语言中,假设类Worker是类Person的子类,Worker的构造方法中有一句"super();",该语句()

    • A、调用类Worker中定义的super()方法
    • B、调用类Person中定义的super()方法
    • C、调用类Person的构造方法
    • D、语法错误

    正确答案:C

  • 第7题:

    在Person的一个派生类Employee里调用Person类的构造函数正确方式为()。

    • A、base.Person(name,age)
    • B、base(name,age)
    • C、Person(name,age)
    • D、this(name,age)

    正确答案:B

  • 第8题:

    下列是构造函数的特点,()是错误的

    • A、构造函数是一种成员函数,它具有一般成员函数的特点
    • B、构造函数的名称与其类名相同
    • C、构造函数必须指明其类型
    • D、一个类中可以定义一个或多个构造函数

    正确答案:C

  • 第9题:

    在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句“super()“,该语句()。 

    • A、调用类Worker中定义的super()方法
    • B、调用类Person中定义的super()方法
    • C、调用类Person的构造函数
    • D、语法错误

    正确答案:C

  • 第10题:

    单选题
    在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句" super() ",该语句()。
    A

    调用类Worker中定义的super()方法

    B

    调用类Person中定义的super()方法

    C

    调用类Person的构造函数

    D

    语法错误


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

  • 第11题:

    单选题
    生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。
    A

    无需任何条件

    B

    基类中显示定义了构造函数

    C

    派生类中显式定义了构造函数

    D

    派生类构造函数明确调用了基类构造函数


    正确答案: D
    解析:
    因为派生类从基类中继承,它含有基类中的数据成员和函数成员,所以当生成派生类对象时,能无条件的调用基类的构造函数。

  • 第12题:

    判断题
    造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。
    A

    B


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

  • 第13题:

    使用VC6打开考生文件夹下的工程test28_3。此工程包含一个test28_3.cpp,其中定义了类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。

    (1)定义类Person的私有数据成员forename、surname 和 money,forename 和 surname都是char型的指针数据,money是double型的数据。请在注释“//**1**”之后添加适当的语句。

    (2)完成类Person的带三个参数的构造函数Person(char *f, char *s,double m),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语句。

    (3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。

    (4)完成类Person的成员函数display的定义,使其以格式“forname surname has money”的形式输出内容,请在注释“//**4*。”之后添加适当的语句。

    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

    输出结果如下:

    Richard Berk has 1000.56

    源程序文件test28_3.cpp清单如下:

    include <iostream.h>

    include <string.h>

    class Person

    {

    private:

    //** 1 **

    double money;

    public:

    Person(char *f, char *s, double m);

    ~Person();

    void display();

    };

    Person::Person(char *f, char *s, double m)

    {

    //** 2 **

    strcpy(forename, f);

    surname = new char[strlen(s)+1];

    strcpy(surname, s);

    money=m;

    }

    Person: :-Person ()

    {

    //** 3 **

    }

    void Person:: display ( )

    {

    //** 4 **

    }

    void main ( )

    {

    Person p("Richard", "Berk", 1000.56);

    p.display ( );

    }


    正确答案:(1) char *forename; char *surname; (2) forename = new char[strlen(f)+1]; (3) delete []forename; delete []surname; (4) coutforename" "surname"has"moneyend1;
    (1) char *forename; char *surname; (2) forename = new char[strlen(f)+1]; (3) delete []forename; delete []surname; (4) coutforename" "surname"has"moneyend1; 解析:主要考查考生对于类的定义和字符指针的动态空间申请和释放的掌握,具中(2)中new关键字是动态申请空间,里面使用了函数strlen,该函数是返回参数字符串的长度,之所以加一是要加入字符串结尾标志,这一点考生切记。(3)中 delete是释放动态内存的关键字,释放一位数组占用的内存格式是先写[],之后是指针名,括号内不写数组的大小。

  • 第14题:

    创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类名是Person,正确的命令是( )。

    A.CREATE CLASS mylib OF student AS Pcrson

    B.CREATE CLASS student OF Person AS mylib

    C.CREATE CLASS student OF mylib AS Person

    D.CREATE CLASS Person OF mylib AS student


    正确答案:C
    C。【解析】格式为CREATECLASS新类名OF类库名称AS父类名。

  • 第15题:

    有关构造函数的叙述不正确的是

    A.构造函数名必须和类名一致

    B.构造函数在定义对象时自动执行

    C.构造函数无任何函数类型

    D.在一个类中构造函数有且仅有一个


    正确答案:D
    解析:本题考查构造函数的基本知识。构造函数名字与类名相同;可以重载;不需要参数;不需要指定返回类型等。本题答案为D。

  • 第16题:

    若多个基类及其派生类中都定义了同名的函数成员,要访问一个类中的该成员函数时,就需要在函数名前加上()和()。


    正确答案:类名;类区分符

  • 第17题:

    造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。


    正确答案:错误

  • 第18题:

    在C#中,假设Person是一个类,而ITeller是一个接口,下面的()类声明是正确的。

    • A、class Employee:Person,ITeller 
    • B、class Employee:ITeller,Person
    • C、class Employee-Person,ITeller
    • D、class Employee:Person / ITeller

    正确答案:A

  • 第19题:

    ()是构造函数的特征。

    • A、构造函数的函数名与类名不同
    • B、一个类中只能定义一个构造函数
    • C、构造函数可以设置缺省参数
    • D、构造函数必须指定类型说明

    正确答案:C

  • 第20题:

    在Java语言中,类Worker是类Person的子类,Worker的构造方法有一句“super()”,该语句()。 

    • A、 调用Worker类中定义的super()方法
    • B、 调用类Person类中定义的super()方法
    • C、 调用类Person的构造函数
    • D、 语法错误

    正确答案:C

  • 第21题:

    单选题
    在Person的一个派生类Employee里调用Person类的构造函数正确方式为()。
    A

    base.Person(name,age)

    B

    base(name,age)

    C

    Person(name,age)

    D

    this(name,age)


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

  • 第22题:

    单选题
    ()是构造函数的特征。
    A

    构造函数的函数名与类名不同

    B

    一个类中只能定义一个构造函数

    C

    构造函数可以设置缺省参数

    D

    构造函数必须指定类型说明


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

  • 第23题:

    多选题
    假设定义了一个Person类,它的构造函数的函数名是什么?()
    A

    __construct

    B

    initialize

    C

    person

    D

    __Person


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