【问题标题】:Problems whith assigning/printing characters in an array in a constructor throrugh a loop通过循环在构造函数的数组中分配/打印字符的问题
【发布时间】:2021-11-29 03:26:51
【问题描述】:

我正在尝试通过构造函数中的简单 for 循环将字符分配给 hex[] 数组,但有些东西不起作用。它根本不打印任何东西。另一方面,如果我使用注释代码,它会打印得很好(显然是在删除分配循环之后)。

#define DIM 6
#include<iostream>
using namespace std;

class hexnum
{
    private:
        char hex[DIM];
    
    public:
        hexnum();
        void print();
};

hexnum::hexnum()
{
    /*
    hex[0] = '0';
    hex[1] = '0';
    hex[2] = '0';
    hex[3] = '0';
    hex[4] = '0';
    hex[5] = '0';
    */  
    
    for(int i = 0; i<DIM; i++)
    {
        hex[i] = '0';
    }   
}

void hexnum::print()
{
    for(int i; i<DIM; i++)
    {
        cout<<hex[i];
    }
    return;
}

int main ()
{
    hexnum n1;
    n1.print();
}

我一辈子都想不通为什么!我错过了一些简单的事情还是我应该知道一些事情?我仍然是一个编码初学者,几乎没有开始接触课程。

【问题讨论】:

  • 在打印中初始化 i。

标签: c++ arrays loops class constructor


【解决方案1】:
void hexnum::print()
{
    for(int i=0; i<DIM; i++)
    {
        cout<<hex[i];
    }
    return;
}

初始化i=0,使其可以从起始索引开始迭代

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-17
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2015-08-12
    • 2018-08-17
    相关资源
    最近更新 更多