2017-02-18 16 views
1

У меня есть конструктор, который печатает строки квадратов. Если логическое значение истинно, оно печатает его заполненным, если его ложное оно печатает его полым. ЭТО РАБОТАЕТ. Однако = * (у меня есть еще одна функция, которая говорит кастрированный баран или не его полыми или заполнены. Он всегда печатает заполнены .....Я пытаюсь вернуть строку из логического значения в классе, который возвращает true

Box::Box(int _width, int _height, bool filled) 
{ 
if (filled) 
{ 
    for (int i = 0; i < _height; i++) 
    { 
     cout << "x"; 
     for (int j = 1; j < _width; j++) 
     { 
      cout << "x"; 
     } 
     cout << std::endl; 
    } 
} 
else if (!filled); 
{ 
    for (int i = 0; i < _height; i++) 
    { 
     if (i != 0 && i != _height - 1) 
     { 
      cout << "x"; 
      for (int j = 1; j < _width-1; j++) 
      { 
       cout << " "; 
      } 
      cout << "x"; 
     } 
     else 
     { 
      for (int _longrow = 0; _longrow < _width; _longrow++) 
      { 
       cout << "x"; 

      } 
     } 
     cout << std::endl; 
     } 
    } 
} 

string Box::type() const 
{ 
if (filled) 
{ 
    return "Filled"; 
} 
else if (!filled) 
{ 
    return "Hollow"; 
} 
} 
+0

Вы сохранени заполнены в качестве переменной в самой в любом классе? –

+0

его публично в моем заголовке.Если он не существует? –

+0

В первой функции вы проходите «заполнено», а во втором - нет. Кажется, у вас есть две разные переменные, называемые «заполненные». – Carcigenicate

ответ

0
Box::Box(int _width, int _height, bool afilled) 
{ 
mfilled = afilled; 
if (mfilled) 
+0

Это работает, парни, спасибо огромное! –