2014-09-23 2 views
-2

У меня возникли проблемы с назначением, мне нужно сделать класс плавательного бассейна и попросить пользователя получить информацию о пулах, чтобы он мог дать вам время, необходимое для заполнения в зависимости от количества воды в нем. первая проблема связана с пул1.setsize(), pool1.setfillrate(), setarea, setlevel im get errors LNK2019 для них есть также несколько синтаксических ошибок, которые я не могу понять, как избавиться, один из них находится в .gettime() говорит, что слишком мало аргументов, но им не пытается передать аргумент им пытаются получить время ИНТА, посланногоошибки компилятора при создании класса бассейна

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

class swimmingpool 
{ 
public: 
    void setsize(int, int, int); 
    void setarea(int); 
    void setfillrate(int); 
    void setdrainrate(int); 
    int gettime(int&); 
    void setlevel(int); 
    level = level * length * width; 
    level = area - level; 
    Time = level/fillrate; 


private: 
    int length; 
    int width; 
    int depth; 
    int area; 
    int fillrate; 
    int drainrate; 
    int Time; 
    int level; 


}; 
int _tmain() 
{ 
    swimmingpool pool1; 
    int len; 
    int wid; 
    int dep; 
    int are; 
    int fill; 
    int drn; 
    int lvl; 
    int time; 

    cout << "enter length, width, depth" << endl; 
    cin >> len; 
    cin >> wid; 
    cin >> dep; 
    cout << endl; 

    pool1.setsize(len, wid, dep); 

    are = len * wid * dep; 
    pool1.setarea(are); 

    cout << "enter the fill rate (int only for a sqft per hr)" << endl; 
    cin >> fill; 
    cout << endl; 

    pool1.setfillrate(fill); 

    cout << "enter water level" << endl; 
    cin >> lvl; 
    cout << endl; 

    pool1.setlevel(lvl); 

    time = pool1.gettime(); 

    //lvl = lvl * len * wid; 
    //lvl = are - lvl; 
    //time = lvl/fill; 

    cout << " it will take " << time << " hours" " to fill " << lvl << " sqft in the pool" << endl; 

    system("pause"); 
    return 0; 

ответ

1

ошибка линкера говорит, что нет реализации для функций-членов, объявленных в классе. Попробуйте добавить код реализации после объявления класса (после };) следующим образом:

void swimmingpool::setsize(int len, int wid, int dep) 
{ 
    length = len; 
    width = wid; 
    depth = dep; 
} 

Вы также должны сделать это для всех функций-членов (setarea, setfillrate, setdrainrate, GetTime, setlevel)

BTW этот кусок кода не компилируется:

level = level * length * width; 
level = area - level; 
Time = level/fillrate; 

Он чувствует, как код выше следует, вероятно, внутри функции setlevel, по крайней мере, частично. Удачи.

+0

спасибо, но так для части, которая не компилируется, я могу положить ее в gettime? – stev0104

+1

Вы конечно можете. – Anton

Смежные вопросы