Je souhaite pouvoir déclarer un tableau , soit en fournissant explicitement un nombre nb,auquel cas le tableau crée aura toutes ses cases égale à nb , soit mettre ses cases égale à 20. l'erreur est au niveau de la fonction main :"tableau(4) t1" .Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <iomanip>
using namespace std;
    const int Nmax=20;
 
class tableau
{
    int tab[Nmax];
    public:
    tableau();
    tableau(int nb);
    ~tableau();
    void affichage();
    int somme();
    float moyenne();
 
};
tableau::tableau()
{
    for(int i=0;i<Nmax;i++)
    tab[i]=20;
}
tableau::tableau(int nb)
{
    for(int i=0;i<Nmax;i++)
    tab[i]=nb;
}
tableau::~tableau()
{
    cout<<"Ceci est un destructeur"<<this;
}
void tableau::affichage()
{
    for (int i=0;i<Nmax;i++)
    cout<<setw(4)<<tab[i];
}
int tableau::somme()
{
    int s=0;
    for(int i=0;i>Nmax;i++)
    s+=tab[i];
    return(s);
}
float tableau::moyenne()
{
    return(float(somme()/Nmax));
}
 
int main()
{
    tableau t;
    t.affichage();
    cout<<setw(4)<<t.somme()<<endl;
    cout<<setw(4)<<t.moyenne()<<endl;
    tableau(4) t1;
    t1.affichage();
    cout<<setw(4)<<t1.somme()<<endl;
    cout<<setw(4)<<t1.moyenne()<<endl;
}