Dérivation de classe abstraite

cs_yoh_777 Messages postés 1 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 11 avril 2007 - 11 avril 2007 à 10:52
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 11 avril 2007 à 11:02
 

Je voudrais simplement dériver une classe abstraite ayant un
constructeur comportant un paramètre.
 


Voici mon programme 





 





using System;


abstract class
MaClass


{

   char c;






   MaClass(char p_c)

   {

      c = p_c;

   }


}





public class
MaClassUt : MaClass


{

 }





















public class
MainClass


{

   public static void
<st1:place>
Main
</st1:place>
()

   {

      Console.WriteLine("Proto
derivation");

      Console.ReadLine();


   }







 




Le compilateur refuse de compiler et me renvoie l’erreur
suivante à laquelle je ne comprend rien !!!



 












overload.cs(13,14):
error CS0060: Inconsistent accessibility: base class 'MaClass' is less
accessible than class 'MaClassUt'



overload.cs(3,16):
(Location of symbol related to previous error 








 






Merci de
vos réponses






 







                       
Guillaume






 

1 réponse

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 avril 2007 à 11:02
Salut,

Rajoute 'public'  a la déclaration de ta classe abstraite. Définie comme ca, elle est internal. Or, la classe qui en hérite est publique, donc forécement, le compilateur rale.

Pour appeler le constructeur de la classe abstraite, il faut définir le constructeur de ta classe MaClassUt ainsi :

public MaClasseUT(tesParams) : base (tesParamsPourConstructeurAbstrait)
{
}

Mx
MVP C# 
0
Rejoignez-nous