2014-11-04 3 views
1

я создал следующейVariable доступа по всей программе

  • class xyz
  • void main() - для вычисления некоторого значения (C)
  • int main() - создать объект класса А и называют основным()

Теперь я хочу вернуть это значение (C) из этой функции

любые решения?

class xyz 
{ public: void main() 
}; 
void xyz::main() 
{ 
    int a =1; 
    int b=2; 
    int c=a+b; 
} 
int main() 
{ 
    xyz o; 
    o.main(); 
    return c; 
} 

Я знаю, что пролет с только в вакуум основных(), как я могу вернуть значение с от ИНТ основной()?

+3

Пожалуйста, добавьте более подробную информацию. У вас действительно есть две «основные» функции? С какой функцией вы хотите вернуть значение? Почему у него нет типа возврата 'xyz'? Почему вы не можете просто «вернуть значение»? –

+0

Не совсем уверен, что вы просите. Я думаю, что основной вопрос заключается в том, что у вас есть класс xyz для вычисления чего-то, и вы не знаете, как использовать этот класс из основного и вернуть значение, которое вы вычисляете. Это основной вопрос? –

+0

Класс @MikeSeymour - это просто определить публичные функции, не более того .... void main() делает все вычисления ..lets говорят, что он дает мне окончательный результат (целочисленный тип X) ... теперь int main() is используется для создания объекта класса и вызова void main() Теперь я хочу вернуть значение X (вычисленное в void main) из int main() – coolest111

ответ

2

Значение будет идти от xyz::main в main, а затем от main к операционной системе. Это понятие «возвращаемые значения»: функция (метод) возвращает значение своему вызывающему.

Для того, чтобы заставить его работать, объявить правильный тип возвращаемого вместо void:

int xyz::main() // here 
{ 
    ... 
} 

В конце метода, возвращает значение:

int xyz::main() 
{ 
    ... 
    return c; // here 
} 

В функции main, получают возвращаемое значение:

int main() 
{ 
    xyz o; 
    int c1 = o.main(); // here 
    return c1; 
} 
+0

Как это работает? xyz :: main недействителен. –

+0

Упс! скопировал это из вопроса. WIll попытаюсь исправить ... – anatolyg

+0

в значительной степени ответ на вопрос – Robson

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