Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么在c+;中使用字符串时没有输出+;? A类{ 私有:字符串a[3]; 公众:A(); void ShowA(); } A::A(){string A[3]={“aa”、“bb”、“cc”} void A::ShowA(){ 对于(int x=0;x_C++_String - Fatal编程技术网

C++ 为什么在c+;中使用字符串时没有输出+;? A类{ 私有:字符串a[3]; 公众:A(); void ShowA(); } A::A(){string A[3]={“aa”、“bb”、“cc”} void A::ShowA(){ 对于(int x=0;x

C++ 为什么在c+;中使用字符串时没有输出+;? A类{ 私有:字符串a[3]; 公众:A(); void ShowA(); } A::A(){string A[3]={“aa”、“bb”、“cc”} void A::ShowA(){ 对于(int x=0;x,c++,string,C++,String,,注释告诉您,您正在构造函数中创建一个局部变量a,而不是设置属性a的值。您可以在中设置a的值 代码变为 #包括 #包括 使用名称空间std; 甲级{ 私人: 字符串a[3]; 公众: A(); void ShowA(); }; A::A():A{“aa”s,“bb”s,“cc”s}{} void A::ShowA(){ 对于(int x=0;x您在构造函数中重新定义字符串“a”,您只需在构造函数中分配它,而不是再次使用“string”类型。如果您再次给出该类型,它将创建一个仅在构造函数范围内可用

,注释告诉您,您正在构造函数中创建一个局部变量
a
,而不是设置属性
a
的值。您可以在中设置
a
的值

代码变为

#包括
#包括
使用名称空间std;
甲级{
私人:
字符串a[3];
公众:
A();
void ShowA();
};
A::A():A{“aa”s,“bb”s,“cc”s}{}
void A::ShowA(){

对于(int x=0;x您在构造函数中重新定义字符串“a”,您只需在构造函数中分配它,而不是再次使用“string”类型。如果您再次给出该类型,它将创建一个仅在构造函数范围内可用的局部变量。

构造函数中的字符串a[3]
将创建一个新的局部变量(与同名成员变量完全无关),立即被丢弃。有关更现代的方法,请参阅或。您正在隐藏自己对
a
的定义,并将其分配给一个后来被丢弃的局部变量。您有一个名为
a
的成员,并且在构造函数中有一个
a
是构造函数的局部变量。请阅读有关作用域的信息(和
std::array
和成员的初始化)考虑在这里使用
std::vector
。可以询问
A::A():A{“aa”s,“bb”s,“cc”s}{}{}
s的意思是什么?您可以随时询问。这是成员初始值设定项列表。这是初始化成员变量的一种方法。语法是“:”后跟变量名及其值(位于括号或花括号之间)。如果有多个成员变量,请添加逗号,然后添加下一个变量,依此类推。请注意,它不在构造函数体中(这有好处)。请参阅“成员初始值设定项列表”链接在回答中。哦,我错过了最后的评论。我会努力理解和思考自己。非常感谢,干杯!
class A{
   private :  string a[3];
   public :   A();
              void ShowA();
}

A::A(){ string a[3] = {"aa","bb","cc"}  }
void A::ShowA(){
   for(int x=0;x<=2;x++){
       cout<< a[x];
   }
}
int main(){
    A a;
    a.ShowA();
    return 0;
}