A conversion operator which converts the current String instance into raw C-style. string oftype const char*.

题目

A conversion operator which converts the current String instance into raw C-style. string of

type const char*.

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面的程序执行后,屏幕上显示的应是 public class Exam{ public static void main(String[]args){ char char1[]={'t','e','s','t'}; char char2[]={'t','e','S','t','1'}; String s1=new String(char1); String s2=new String(char2,0,4); System.out.println(s1.equals(s2)); } }

A.true

B.false

C.test

D.编译错误


正确答案:A
解析:首先可以通过字符数组来生成一个字符串对象:String(char[]value)和 String(char[]value,int startIndex,int numChars),其中,startIndex指定字符串在数组中的起始下标, numChars表示字符个数。然后再测试字符串是否相等,可调用equals()方法,两个字符串相等则返回 true,否则返回false。题目中s1和s2都是“test”,所以最后返回是true,选项A正确。

第2题:

在某类的公共部分有声明string operator++( );和string operator++(int);则说明

A.string operator++( );是前置自增运算符声明

B.string( )perator++( );是后置自增运算符声明

C.string operator++(int);是前置自增运算符声明

D.两条语句无区别


正确答案:A
解析:在重载单操作符的过程中,++既可以是前缀运算符,又可以是后缀运算符,C++规定重载后缀++时必须多一个虚拟参数int,则不带虚拟参数int的为前缀运算符。

第3题:

下列哪个语句是声明一个含有10个String对象的数组( )?

A.char str[];

B.char str[][];

C.String str[]=new String[10];

D.String str[10];


正确答案:C
解析:本题主要考查正确的字符串数组声明是String str[]=new String[];,注意选项D的形式是不对的,这和C++语言是不同的。

第4题:

已知类 String 的原型为

class string

{

public:

string(const char *str=null);//普通构造函数

string(const string &other);//拷贝构造函数

---string(void);

string &operate=(const string &other);//赋值函数

private:

char * m-data;//用于保存字符串

};

请编写 string 的上述4 个函数


正确答案:
 

第5题:

Operator overloading operator+= which appends another String instance into current String

instance.


正确答案:
 

第6题:

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

【说明】

下面的程序实现了类String的构造函数、析构函数和赋值函数。

已知类String的原型为:

class String

{

public:

String(coust char * str = NULL); //普通构造函数

String( const String &other); //拷贝构造函数

~String(void); //析构函数

String & perate =(const String &other); //赋值函数

private:

char * m_data; // 用于保存字符串

};

//String 的析构函数

String:: ~String (void)

{

(1);

}

//String 的普通构造函数

String: :String( const char * str)

{

if (2)

{

m_data = new char[1];

*m_data = '\0';

}

else

{

int length = strlen(str);

m_data = new ehar[ length + 1 ];

strepy(m_data, str);

}

}

//拷贝的构造函数

String:: String( const String &other)

{ int length = strlen(other. m_data);

m_data = new char[ length + 1 ];

strepy(m_data, other, m_data); //赋值函数

String & String::operate = (eonst String &other) //

{

if (3)

return * this;

delete [] m_clara; //释放原有的内存资源

int length = strlen( other, m_data);

m_data = new chart length + 1 ];

(4);

return (5);

}


正确答案:(1)delete[]m_data或者delere m_data
(1)delete[]m_data或者delere m_data 解析:由于m_data 是内部数据类型,也可以写成delete m_data。

第7题:

下列( )语句是声明一个含有10个String对象的数组。

A.char str [];

B.char str [] [];

C.String str[]=new String[10];

D.String str[10];


正确答案:C

第8题:

在VB中,以下关于符号常量的声明正确的是 ( )A.Const TAG as StringB.Const TAG as String=&qu

在VB中,以下关于符号常量的声明正确的是 ( )

A.Const TAG as String

B.Const TAG as String="Visual Basic"

C.Public TAG as String="Visual"

D.Dim TAG as String


正确答案:B

第9题:

已知String类定义如下:

class String

{

public:

String(const char *str = NULL); // 通用构造函数

String(const String &another); // 拷贝构造函数

~ String(); // 析构函数

String & perater =(const String &rhs); // 赋值函数

private:

char *m_data; // 用于保存字符串

};

尝试写出类的成员函数实现。


正确答案:

 

String::String(const char *str)
{
if ( str == NULL ) //strlen在参数为NULL时会抛
异常才会有这步判断
{
m_data = new char[1] ;
m_data[0] = '\0' ;
}
else
{
m_data = new char[strlen(str) + 1];
strcpy(m_data,str);
}
}
String::String(const String &another)
{
m_data = new char[strlen(another.m_data) + 1];
strcpy(m_data,other.m_data);
}
String& String::operator =(const String &rhs)
{
if ( this == &rhs)
return *this ;
delete []m_data; //删除原来的数据,新开一块内

m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data,rhs.m_data);
return *this ;
}
String::~String()
{
delete []m_data ;
}

第10题:

下列程序执行后,屏幕上显示的应是 public class Testyyy {public static void main(String[]args) {char charl[]={,'t' 'e''s],'t'}; char char2[]={'t','e','s','t','1'}; String s1=new String(char1); String s2=new String(char2,0,4); System.out.println(s1.equals(s2)); } }

A.true

B.假

C.test

D.编译错误


正确答案:A
解析:①可以通过字符数组来生成一个字符申对象:String(char[]value);String(charC[]value,intstartIndex,intnumChars);其中,startIndex指定字符串在数组中的起始下标,numChars表示字符个数。②测试字符串是否相等,可用equals()方法,两串相等则返回true,否则返回false。

更多相关问题