Προς το περιεχόμενο

[Λύθηκε] Ανάθεση και ανάκληση τιμών


Evangeli

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα.

 

Για λόγους καλύτερης οργάνωσης του κώδικα, θα ήθελα να υλοποιήσω μια συνάρτηση που θα καλείται μέσα από την main και θα αναθέτει τιμές σε μεταβλητές της main. Δεν θέλω σε καμία περίπτωση όμως να είναι ορατές και από άλλες συναρτήσεις γιατί προφανώς χρησιμοποιούνται τα ίδια ονόματα. Καμιά ιδέα?

 

Βαγγέλης.

Δημοσ.

σε C μπορεις να κανεις κατι τετοιο:

>
#include <stdio.h>
void fun(int* var1, int* var2)
{/*...αλγοριθμος αναθεσης τιμων???πρεπει να μας πεις με ποια λογικη θα αναθετεις τιμες
να διαβαζονται απο το χρηστη??*/ 
}
int main(void)
{int a,b;
fun(&a,&;
}

 

η σε C++

>
#include <iostream>
using namespace std;
void fun(int& var1, int& var2)
{/*...αλγοριθμος αναθεσης τιμων???πρεπει να μας πεις με ποια λογικη θα αναθετεις τιμες.
να διαβαζονται απο το χρηστη??*/
}
int main(void)
{int a,b;
fun(a,;
}

Δημοσ.

Μπορείς να φτιάξεις ένα αντικείμενο μιας δικής σου κλάσης (γραμμένης γι' αυτό το σκοπό), να περάσεις αυτό ως όρισμα και μετά να πάρεις τις τιμές του πίσω, μέσα στη main.

 

Δηλαδή

>class MyClass
{
 public int a;
}

 

>public static void main(String[] arguments)
{
 MyClass c1 = new MyClass();
 someFunction(c1);
 int a = c1.a;
}

void someFunction(MyClass arg)
{
 arg.a = 5;
}

 

(Αυτό το ποστ θα μπορούσε να είναι καλύτερο αν δεν είχα ξυπνήσει μόλις τώρα.)

Δημοσ.
Μπορείς να φτιάξεις ένα αντικείμενο μιας δικής σου κλάσης (γραμμένης γι' αυτό το σκοπό), να περάσεις αυτό ως όρισμα και μετά να πάρεις τις τιμές του πίσω, μέσα στη main.

 

Δηλαδή

>class MyClass
{
 public int a;
}

 

>public static void main(String[] arguments)
{
 MyClass c1 = new MyClass();
 someFunction(c1);
 int a = c1.a;
}

void someFunction(MyClass arg)
{
 arg.a = 5;
}

 

(Αυτό το ποστ θα μπορούσε να είναι καλύτερο αν δεν είχα ξυπνήσει μόλις τώρα.)

 

Μια χαρά είναι. Το τροποποίησα και δουλεύει όπως ακριβώς ήθελα. Σ' ευχαριστώ! :)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...