Salve , ho il seguente
classdef contatore
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
properties
% modificata inizializazinoe del campo "visita"
s=struct('visita',[],'contatore',1,'capacita',0);
conta;
end
methods(Static)
% Aggiunto un parametro e modificato il nome del parametro "self"
function r=setGlobalx(cont_class,input_1,n)
% Eliminata (commentata) la definizione della varaibile globale
% global x
% Eliminata l'assegnazione della variabile globale alla varaibile di output
% della funzione
% r=x;
cont_class.s(1).visita(n)=input_1;
% Assegnazione del valore del campo "vista" alla varaibile di output della
% funzione
r=cont_class;
for i=1:n
disp('Valore di "visita settato nella funzione "setGlobalx= ')
disp(num2str(cont_class.s(1).visita(i)));
end
end
% Funzione modificata: ritorna solo il valore della property "visita"
% Assegnato un paramtro di input: l'istanza della classe della quale si
% vogliono acquisire i valori
function r2 = getGlobalx(input_class)
r2=input_class.s(1).visita;
end
% Primo "end" aggiunto
end
% Secondo "end" aggiunto
end
classdef exec_contatore
%UNTITLED3 Summary of this class goes here
% Detailed explanation goes here
properties
end
methods(Static)
function self=exec_contatore()
cont_class=contatore;
% Creazione di un'istanza della classe "contatore"
% Utilizzo della funzione (method "setGlobalx"): il campo (l'array)
% "visita" dell'istanza "cont_class"
for n=1:3
% Definizione di "un valore" da assegnare al campo "visita"
val=n*2;
% Chiamata del method "setGlobalx"
cont_class=cont_class.setGlobalx(cont_class,val,n);
end
display(cont_class.s(1).visita(1));
% Stampa nella Command Window dei valori settati
% Utilizzo della funzione "getGlobalx" per "acquisire" i valori assegnati
% alla property "visita" dell'istanza "cont_class" tramite le chiamate alla
% funzione "setGlobalx" effettuate in precedenza
var_out=cont_class.getGlobalx(cont_class);
display(var_out);
end
function prova3()
cont_class=contatore;
exec_contatore();
var_out=cont_class.getGlobalx(cont_class);
display(var_out);
% Utilizzo della funzione "getGlobalx" per "acquisire" i valori assegnati
% alla property "visita" dell'istanza "cont_class" tramite le chiamate alla
% funzione "setGlobalx" effettuate in precedenza
end
end
end
Il problema sarebbe di visualizzare var_out anche in un altra function
ad esempio nel mio caso nel exec_contatore viene visualizzato var_out mentre in prova3 non viene visualizzato come mai? come posso risolvere?