c++中string可以定义为数组吗
我在编译的时候,在string的初始化的时候有错,但是不知道错在哪里,不完整的代码如下#include<iostream>usingstd::cin;usingstd::...
我在编译的时候,在string的初始化的时候有错,但是不知道错在哪里,不完整的代码如下
#include<iostream>
using std::cin;
using std::cout;
#include<string>
using std::string;
class reader
{
public:
reader(string readname,string num,string a[5],int n )
{
name=readname;
num=lend_num;
}
private:
string name;
string lend_num;
string bookname[10];
int m;
};
class data
{
protected:
string name;
string coding;
};
class book:public data
{
private:
string writer;
string in_num;
string publishing_house;
float money;
};
class materital:public data
{
private:
string zonghao;
};
main()
{
class rd[4];
string book[8]=("家","三国演义","雨夜","泡沫之夏","大约是爱","西游记","巴黎圣母院","九三年");
} 展开
#include<iostream>
using std::cin;
using std::cout;
#include<string>
using std::string;
class reader
{
public:
reader(string readname,string num,string a[5],int n )
{
name=readname;
num=lend_num;
}
private:
string name;
string lend_num;
string bookname[10];
int m;
};
class data
{
protected:
string name;
string coding;
};
class book:public data
{
private:
string writer;
string in_num;
string publishing_house;
float money;
};
class materital:public data
{
private:
string zonghao;
};
main()
{
class rd[4];
string book[8]=("家","三国演义","雨夜","泡沫之夏","大约是爱","西游记","巴黎圣母院","九三年");
} 展开
3个回答
展开全部
可以。但这视为string类的数组。
string st[10];
意思是开10个string变量,以st为数组变量名。这时有点像二维字符数组。
读入:
cin >> st[0] >> st[1];
输出:
cout << st[2] << endl << st[3];//输出整串
cout << st[0][0] << st[0][1] << endl;//输出单个字符
基本操作与C字符数组类似,但自带许多实用函数,可以参照库<string>。
tips:
c++String功能强,兼容性高,但是速度会慢些。对速度有要求的程序最好用字符数组。
展开全部
当然可以定义string数组,不过你main函数里的两个申明定义都错了,
按你的意思应该改成这样的:
#include<iostream>
using std::cin;
using std::cout;
#include<string>
using std::string;
class reader
{
public:
reader(string readname,string num,string a[5],int n )
{
name=readname;
num=lend_num;
}
reader();//这个为默认构造函数,可以不写
private:
string name;
string lend_num;
string bookname[10];
int m;
};
class data
{
protected:
string name;
string coding;
};
class book:public data
{
private:
string writer;
string in_num;
string publishing_house;
float money;
};
class materital:public data
{
private:
string zonghao;
};
void main()
{
reader *rd[4];
string book[8]={"家","三国演义","雨夜","泡沫之夏","大约是爱","西游记","巴黎圣母院","九三年"};
}
按你的意思应该改成这样的:
#include<iostream>
using std::cin;
using std::cout;
#include<string>
using std::string;
class reader
{
public:
reader(string readname,string num,string a[5],int n )
{
name=readname;
num=lend_num;
}
reader();//这个为默认构造函数,可以不写
private:
string name;
string lend_num;
string bookname[10];
int m;
};
class data
{
protected:
string name;
string coding;
};
class book:public data
{
private:
string writer;
string in_num;
string publishing_house;
float money;
};
class materital:public data
{
private:
string zonghao;
};
void main()
{
reader *rd[4];
string book[8]={"家","三国演义","雨夜","泡沫之夏","大约是爱","西游记","巴黎圣母院","九三年"};
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c++中string可以定义为数组,此时sting数组存储的是各字符串的地址,没问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询