2015-11-06 2 views
-4

У меня есть этот код:Как мне вызвать функцию внутри структуры?

int suma(int); 
int produs(int); 

struct calcul{ 
    int suma(); 
    int produs(); 
} 
suma()=1+2+..n;// return S 
produs()=1*2*..n;// return P 

Я хочу назвать это в основном с calcul sp. Как вызвать функцию внутри структуры? Если я даю n тип структуры n = 5; результатом будет sp (15, 120). Спасибо !!!

+1

'сума() = 1 + 2 + .. п;' Это не действует C++. Что это значит? –

+0

Ваш вопрос непонятен. Вы хотите вызвать функцию внутри структуры? –

+0

C и C++ - ** разные ** языки! Выбери один! – Olaf

ответ

0

Я думаю, вы хотите что-то вроде:

struct calcul 
{ 
    int suma(int n) 
    { 
     int result = 0; 
     for (int i = 1; i <= n; ++i) 
      result += n; 
     return result; 
    } 
    //... similar for produs 
}; 

int main() 
{ 
    calcul sp; 
    int x = sp.suma(10); 
}; 
0
int suma(int); 
int produs(int); 

и

struct calcul{ 
    int suma(); 
    int produs(); 
}; 

две совершенно разные наборы функций, даже если они имеют такое же имя. Функции в вашей структуре являются функциями-членами и могут быть вызваны только на экземпляр вашей структуры. Вы бы сделали это так:

int main() 
{ 
    calcul x; 
    int a = x.suma(0); 
    int b = x.produs(1); 
} 
Смежные вопросы