已知类 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 个函数
已知类 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 个函数
相关考题:
请编写一个函数int compare(char *s,char *t)), 该函数的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于是t指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0。注意:部分源程序已存在文件PROC8.cpp中。文件PROC8.cpp的内容如下://PROC8.cppinclude <iostream>include <string>using namespace std;int compare(char *s,char *t){//* * * * * * * * *}int main (){char str1[100],str2[100];int result;cout<<"Input the first string\n";cin>>str1;cout<<"Input the second string\n";cin>>str2;result=compare(str1,str2);if (result==0)cout<<"string1=string2 ! \n";else if (result>0)cout<<"string1>string2 ! \n";elsecout<<"string1<string2 ! \n";return 0;}
请补充函数fun(),该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>void fun(char *s){int i=0;char *p=s;while(【 】){if (*p>='a'*p<='z'){s[i]=*p;【 】;}p++;}s[i]=【 】;}main(){char str[80];clrscr();printf("\nEnter a string:");gets(str);printf("\n\nThe string is:\%s\n",str);fun(str);printf("\n\nThe string of changingis:\%s\n",str);}
下列哪个语句是声明一个含有10个String对象的数组( )?A.char str[];B.char str[][];C.String str[]=new String[10];D.String str[10];
在VB中,以下关于符号常量的声明正确的是 ( )A.Const TAG as StringB.Const TAG as String=&qu 在VB中,以下关于符号常量的声明正确的是 ( )A.Const TAG as StringB.Const TAG as String="Visual Basic"C.Public TAG as String="Visual"D.Dim TAG as String
下面的程序执行后,屏幕上显示的应是 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.trueB.falseC.testD.编译错误
下面程序执行后,输出结果为:true请在程序的每条横线处填写一个语句,使程序的功能完整。注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class TestStringCompare{{public static void main(String ____________________ args){char charl[]={'t','e','s','t'};char char2[]={'t','e','s','t','1'};String str1=new String(___________________);String str2=new String(char2,0,4);System.out.println(__________________________);}}
阅读下列程序说明和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);}
以下程序十函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址: #include <stdio.h> #include <string.h> char *scrap(char *s1,char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str [0],str[1]));/*库函数strcpy对宁符中进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、4bba和abc三个宁符市,则输出结果为A.abcdB.abbaC.abcD.abca
以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。A.abedB.abbaC.abcD.abca
定义一个表示10个值为null的字符串数组,下面选项正确的是A.String [] a;B.String a[];C.char a[10][];D.String a[]=new String[10];
下列( )语句是声明一个含有10个String对象的数组。A.char str [];B.char str [] [];C.String str[]=new String[10];D.String str[10];
A conversion operator which converts the current String instance into raw C-style. string oftype const char*.
已知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的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String other); // 拷贝构造函数~ String(void); // 析构函数String perate =(const String other); // 赋值函数private:char *m_data; // 用于保存字符串};请编写 String的上述 4 个函数。
说出下面几个函数的区别:private void test(string str){…}private void test(ref string str){…}private void test(out string str){…}如果一个页面与数据
定义一个表示100个值为null的字符串数组,正确的选项是______。A.String[ ]a;B.String a[ ];C.char a[100][ ];D.String a[ ]=new String[100]
请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:$include<string.h>include<conio.h>include<stdio.h>define N 81void fun(char*s){int i=0,t,n=strlen(s);for(;【 】;i++){t=*(s+i);【 】;【 】;}}main(){char a[N];clrscr();printf("Enter a string:");gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}
本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,并输出比较结果。public class javal{public static void main(String[]args){;cl=‘A ‘;c2=‘a‘;String strl=new String("A"),str2=new String("a"):if( )System.Out.println("char"+c1+"equals"+"char"+c2);elseSystem.OUt.println("char"+cl+"doesn‘t equal"+"char"+c2);if( )System.out.println("string"+strl+"equals"+"string"+str2):elseSystem.OUt.println("string"+strl+"doesn‘t e-qual"+"string"+str2); .}}
includeiostreamincludestringusing namespace std;class MyClass{public:MyClass(int i=0){member=i;}void SetMember(const string m){member=big+m;m=member;}string GetMember(){return member;}void print()const{coutStu:memberendl;}private:string member;};void main(){MyClass obj1,*obj2;string i=wang lin;obj2=obj1;obj2-SetMember(i);obj1.print();}
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include <stdio.h> #include <string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为( )。A.abcdB.abbaC.abcD.baca
下列程序运行的结果为:public class Example{String str=new String("good");char[] ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");Sytem.out.print(ex.ch);}public void change(String str,char ch[]){str="test ok";ch[0]='g';}}A. good and abcB. good and gbcC. test ok and abcD. test ok and gbc
执行语句“stringstr("abc");”时,系统会自动调用string类的构造函数()。A、string()B、string(constchar*s)C、string(conststringstr)D、string(size_typen,charc)
public class Employee{ private String name; public Employee(String name){ this.name = name; } public void display(){ System.out.print(name); } } public class Manager extends Employee{ private String department; public Manager(String name,String department){ super(name); this.department = department; } public void display(){ System.out.println( super.display()+”,”+department); } } 执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?() A、 smith,SALESB、 null,SALESC、 smith,nullD、 null,null
Which expressions are correct to declare an array of 10 String objects? () A、 char str[];B、 char str[][];C、 String str[];D、 String str[10];
单选题public class Employee{ private String name; public Employee(String name){ this.name = name; } public void display(){ System.out.print(name); } } public class Manager extends Employee{ private String department; public Manager(String name,String department){ super(name); this.department = department; } public void display(){ System.out.println( super.display()+”,”+department); } } 执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?()A smith,SALESB null,SALESC smith,nullD null,null