为什么在C ++中使用字符串时没有输出?

SoftWoo_is
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;
}

在这段代码中,我认为输出为aabbcc,但没有任何输出。仅存在空白。你能告诉我为什么会发生以及如何解决它。干杯们。

我们给予

正如评论所告诉您的那样,您是a在构造函数内部创建局部变量,而不是设置attribute的值a您可以a成员初始化器列表中设置in的值

代码变成

#include <iostream>
#include <string>

using namespace std;

class A {
private:
    string a[3];

public:
    A();
    void ShowA();
};

A::A() : a{"aa"s, "bb"s, "cc"s} {}

void A::ShowA() {
    for(int x = 0; x <= 2; x++) {
        cout << a[x] << std::endl;
    }
}
int main() {
    A a;
    a.ShowA();
    return 0;
}

注意:“ aa”,“ bb”和“ cc”字符串后的“ s”是字符串文字在这种情况下,这实际上不是必需的,因为编译器知道您正在创建std::string对象数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么不使用字符串的静态数组?

为什么在Rust中使用字符串文字&str而不是String?

为什么我可以在HashMap中使用字符串作为键?

在cmd中使用“ set var = text”命令后,为什么没有带有'echo%var%'的字符串输出?

为什么我需要标准库和字符串库才能在C ++中使用字符串

在C#中使用字符串调用方法时,“对象与目标类型不匹配”

为什么在Hive中使用OpenCSVSerde时所有列都创建为字符串?

在C中使用字符串数组时出错

c#中使用字符串时引用类型和值类型之间的区别

在C中使用字符串数组

在C中使用字符串打印数组

为什么在moment.js中使用字符串参数指定的时区无法识别?

在C中将字符串分配给字符数组时,为什么没有'&'?

在C ++中,有没有一种方法可以在switch语句中使用字符串?

为什么在struct中使用字符串时出现运行时错误

为什么使用字符串会导致退出代码3而使用char []没有

为什么在使用格式字符串时,Console.WriteLine输出的文本中没有格式字符串和类型名称?

在MVC模型中使用字符串ID字段有什么缺点?

为什么在串联Beautifulsoup的网址时不能使用字符串?

如果我的程序通过CTRL-C终止,为什么使用fprintf输出的字符串最终没有写入输出文件?

为什么不能在会话变量中使用字符串数字作为索引?

jdk 8不允许在switch语句中使用字符串?为什么

有什么方法可以在c ++中使用字符串,而不会在程序中出现“字符串”一词呢?

在AngualrJS中使用controllerAs时为什么没有输出

如果存在符号,为什么还要在哈希中使用字符串

在DynamoDB中使用字符串集而不是字符串有什么优势?

在 c 中使用字符串

在 C 中使用字符串添加长数字

在C中使用字符串密钥解密