|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 4
|
Domanda dichiarazione array
Salve a tutti, chiedo scusa per la domanda stupida ma ho un piccolo problema con le classi ...
Cosa devo fare : semplice prova di dichiarazione di array e successiva stampa tramite l'utilizzo delle classi. Errore riscontrato : dichiarazioni multiple di "ciao". Ed ora il codice. Classe array.h : Codice:
#ifndef ARRAY_H
#define ARRAY_H
#include <iostream>
using namespace std;
const int max_n=20;
class array
{
public:
void asd(int);
void array2(int);
private:
int dati[max_n];
};
array ciao;
#endif // ARRAY_H
Codice:
#include "array.h"
void array::asd(int a)
{
for (int i=0; i<a; i++)
dati[i]=i;
}
void array::array2(int a)
{
for (int i=0; i<a; i++)
cout<<dati[i]<<" ";
}
Codice:
#include "array.h"
int main(){
ciao.asd(max_n);
ciao.array2(max_n);
return 0;
}
Ultima modifica di d1l3mm4 : 26-11-2012 alle 12:21. |
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21861
|
oddio, saranno almeno 10 anni che non uso più il c++ con le classi ma così di sfuggita
1) nel main includi l'header ma non viene mai incluso il codice (nel main dovresti includere il .cpp che a sua volta include il .h 2) manca il costruttore 3) non istanzi un oggetto della classe e i metodi non sono statici
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 4
|
Eh, devo usare le classi del c++ perchè sto cercando di fare un programma con le Qt ç_ç
Ho provato ad includere il file .cpp però mi dava errore comunque, ho provato a dare una letta su un libro americano delle qt e c'è scritto di includere il file .h in quanto il codice stesso della classe (le funzioni nel file .cpp) vengono richiamate in automatico dal compilatore ... (ma potrei aver capito male ç_ç) (Il costruttore non ho capito bene come impostarlo, dovrebbe essere la funzione con i parametri che decido di dargli di default, oppure una funzione priva di parametri ?) Per quanto riguarda l'errore che mi dava era una mia svista, quando scrivevo nel file della classe "array ciao", lo includeva in automatico 2 volte e quindi creava un totale di 3 oggetti dello stesso tipo con lo stesso identificatore (sono un pollo xD) Grazie comunque per le dritte, per quanto riguarda i metodi, cosa intendi con "non sono statici" ? (sono proprio niubbo in fatto di classi xD) |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
|
Fondamentalmente manca un costruttore che inizializzi le variabili dell'oggetto.
Poi la variabile statica ciao la lascerei come variabile statica locale del modulo di codice che la utilizza e quindi va dichiarata solo in main.cpp. Per il resto dovrebbe andare bene così (in visual studio 2010 funziona tutto ho provato).
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Nov 2012
Messaggi: 4
|
Perfetto grazie mille ^^
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:58.



















