Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [c++] problema nella gestione di un vector

    ciao ragazzi sto facendo un po di pratica con questo splendido linguaggio ,

    ho creato una classe "mate" , con qualche funzione membro , una funzione private di utilità e un dato menbro <vector>

    codice:
    class mate {
    
    public :
    	mate () ; // costruttore 
    	void welcome () ;
    	int calcoloDiPotenza ( int ) ;
    	int calcoloDifferenza (int , int ) ;
    
    private:
    	void stampa (vector <int> num)  ;
    	vector <int> numeri (6) ;
    
    } ;

    e ho implementato il tutto in questo modo

    codice:
    #include <iostream>
    using::std::cout ;
    using::std::cin ;
    
    
    
    #include <string>
    using::std::string ;
    
    #include <vector>
    using::std::vector ;
    
    
    
    
    #include "mate.h"
    
    
    
    
        mate::mate () // costruttore 
    	{
    		size_t i  ;
    		int x = 1 + rand () % 10 ;
    
    		for ( i = 0 ; i < numeri.size() ; i++ )
    			numeri[i] = x ;
    
    		
    	}
    
    
    	void mate::welcome ()
    	{
    		cout <<"WELCOME IN THIS WORLD\n" ;
    		stampa ( numeri ) ;
    	}
    
    	int mate::calcoloDiPotenza ( int num) 
    	{
    		int potenza ;
    		potenza = num * num ;
    		return potenza ;
    	}
    
    	int mate::calcoloDifferenza (int num , int potw) 
    	{
    		int differenza ;
    		differenza = potw - num ;
    		return differenza ;
    	}
    
    	void mate::stampa (vector <int> num) 
    	{
    		size_t i  ;
    
    		for ( i = 0 ; i < num.size() ; i++)
    			cout << num[i] ;
    	}
    non posto anche il main , è inutile

    ora il problema è che in fase di compilazione mi da l'errore
    1)Error 3 error C2228: left of '.size' must have class/struct/union

    e

    2)Error 4 error C3867: 'mate::numeri': function call missing argument list; use '&mate::numeri' to create a pointer to member

    nel costruttore !


    ora venendo dal C , gli array e i puntatori sono intercambiabili , questo però e un oggetto
    della classe vector

    mi dice che devo risolvere un riferiemento , ma non riesco a capire

    grazie
    se non rispondo ai Pvt mandatemi una mail

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Non puoi dichiarare la dimensione di un vector in quel modo, ma devi fare così:
    codice:
    private:
    	void stampa (vector <int> num)  ;
    	vector <int> numeri;
    
    ... 
    
     mate::mate () : numeri(6) // costruttore
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    grazie mille , sempre gentile e preciso!

    voglio approfondire anche questo linguaggio , e con esso la programmazione orientata agli oggetti!
    se non rispondo ai Pvt mandatemi una mail

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.