A.public Person(){}
B.public Person(String name,int age) { this.name = name; this.age = age; }
C.public Person(int age,String name) { this.age = age; this.name = name; }
D.public Person(String name) { this.name = name; }
第1题:
使用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 ( );
}
第2题:
在下列程序的划线处应填入的语句是class Person { private int a;}public class Man extends Person{ public int b; public static void main (String arg []){ Person p=new Person(); Man t=new Man(); int i: }}
A.i=w;
B.i=b
C.i=p.a;
D.i=t.b;
第3题:
下列程序中需要清理动态分配的数组,划线处应有的语句是_______。
include<iostream.h>
class person
{
int age,tall;
public:
person( ){age=0;tall=40;cout<<"A baby is born."<<endl;}
person(int i){age=i;tall=40;cout<<"A old person."<<endl;}
person(int i,int j){age=i;tall=j;cout<<"a old person with tall."<<endl;)
~person( ){cout<<"person dead."<<endl;}
void show( )
{
cout<<"age="<<age<<",tall="<<tall<<endl;
}
};
void main( )
{
person*ptr;
ptr=new person[3];
ptr[0]=person( );
ptr[1]=person(18);
ptr[2]=person(20,120);
for(int i=0;i<3;i++)
ptr[i].show( );
______
}
第4题:
在下列程序的划线处应填入的语句是( )。 class Person { private int a: } public class Man extends Person{ public int b; public static void main(String arg []){ Person p=newPerson(); Man t=new Man(); int i; _________________ } }
A.i=w;
B.i=b;
C.i=P.a;
D.i=t.b;
第5题:
在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句"super()",该语句()。
第6题:
对于下列代码: 1) class Person { 2} public void printValue(int i, int j) {//... } 3} public void printValue(int i){//... } 4} } 5) public class Teacher extends Person { 6} public void printValue( ) {//... } 7} public void printValue(int i) {//...} 8} public static void main(String args[]){ 9} Person t = new Teacher( ); 10} t.printValue(10); 11} } 第10行语句将调用哪行语句?()
第7题:
在Java语言中,假设类Worker是类Person的子类,Worker的构造方法中有一句"super();",该语句()
第8题:
在Person的一个派生类Employee里调用Person类的构造函数正确方式为()。
第9题:
i = m;
i = b;
i = p.a;
i = p.change(30);
i = t.b.
第10题:
base.Person(name,age)
base(name,age)
Person(name,age)
this(name,age)
第11题:
line 2
line 3
line 6
line 7
第12题:
将构造一个Student对象;
表达式是合法的;
表达式是错误的;
编译时正确,但运行时错误。
第13题:
给出下列的不完整的类代码,则下列的( )语句可以加到横线处。 class Person{ String name,department; int age public Person(String n){name=n;} public Person(String n,int a){name=n;age=a;} pubilc Person(String n,String d,int a) { _______________ department=d; } }
A.Person(n,a);
B.this(Person(n,a));
C.this(n,a);
D.this(name,age);
第14题:
在下列程序的划线处应填入的语句是 class Pemon { pnvate int a; } public class Man extends Person { public int b; public static void main(String arg[ ] ) { Person p = new Person( ); Man t = new Man( ); int i; ________ } }
A.i = w;
B.i = b;
C.i = p.a;
D.i = t.b;
第15题:
给出下列的不完整的类代码,则下列的哪个语句可以加到横线处? class Person { String name,department; int age; public Person( String n ){ name = n;} public Person( String n,int a ) { name = n;age = a;} public Person( String n,String d,int a ) { _____________ department = d; } }
A.Person(n,a);
B.this(Person(n,a) );
C.this(n,a);
D.this(name,age);
第16题:
已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=&a;,则下面语句正确的是( )。
A.语句p=&a;是把对象a赋值给指针变量p
B.语句A*p,a;p=&a;调用两次类A的构造函数
C.对语句*p.fun();的调用是正确的
D.语句 p->fun();和语句 a.fun();等价
第17题:
在JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()“,该语句()。
第18题:
创建对象时系统将调用适当的构造方法给对象初始化。
第19题:
类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是:()
第20题:
下列关于类的包含描述正确的是()
第21题:
可以使用赋值语句对对象成员进行初始化
可以使用“参数初始式”调用成员类的构造函数初始化对象成员
被包含类可以访问包含类的成员
首先执行自身构造函数,再调用成员类的构造函数
第22题:
调用类Worker中定义的super()方法
调用类Person中定义的super()方法
调用类Person的构造函数
语法错误
第23题:
对
错