Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : C quoi une classe en C ? [ Archives / Maths & Algorithmes ] (unclecrufek)

samedi 25 mai 2002 à 21:27:07 | C quoi une classe en C ?

unclecrufek

bah ouais c'est quoi ?
En fait si je pose la question c'est parce qu'on ma conseillé d'en faire une pour pouvoir manipuler
des tres grands nbres et de redefinir dedans les operations de base (+,-,*,/ et %)
(Mon but etant d'arriver a pouvoir faire des divisions euclidiennes de tres grds nombres)
D'ailleur, si quelqu'un a deja fait une telle classe, je suis preneur!

Merci d'avance a tous ceux qui m'aiderons


mardi 28 mai 2002 à 08:47:57 | Re : C quoi une classe en C ?

Blustuff

Je vais pas détailler en entier, normallement il faut une 50n de pages pour parler des classes.
Une classe est un ensemble de variables en gros. En fait, c'est un ensemble de classes, une variable étant une classe, un tableau étant également un classe. On peut faire bcp de choses avec les classes, mais la ce qui t'interesse, c'est d'avoir une classe qui contient, 2 nombres la partie haute de ton grand nombre, et la partie basse. (Avec deux nombres, tu peux avoir un nombre qui a pour taille (4*10^9)^2 = 16*10^18 au maximum, ce qui est corect, si tu veux plus grand, utilise plus de deux variables. Tu définis ta classe :

//Cela définit une classe contenant deux variables int :
//sizeof(GrandNombre) = 4*2 = 8

class GrandNombre
{
int PartieaBasse;
int PartieHaute;
};


Ensuite tu dois surcharger tes opérateurs pour cette classe

GrandNombre& operateur++(GrandNombre& Nombre)
{
Nombre.PariteBasse++; //Incrementation de la partie basse du nombre
if (Nombre.PartieBasse) //Si la partie basse est nulle,
Nombre++; Incrementer la partie haute
}


Evidement ici c'est beaucoup plus simple. Pour d'autres opérations comme l'addition on peut utiliser les registres du processeurs pour savoir si il y a une retenue sur la partie haute (d'ailleur on peut aussi pour l'addition).
Il faut encore que je t'explique encore qqchose sur les classes.

GrandNombre MonNombre; //C'est une déclaration d'instance de classe. C'est une variable qui suit le modèle de la déclaration (premier exemple)

GrandNombre* MonPointeurSurNombre; //Un pointeur sur une classe de type Grand Nombre

MonNombre.PartieBasse; //Accès a la partie basse de MonNombre

MonPointeurSurNombre->PartieBasse; //Accès a la partie basse de la variable pointée par MonPointeurSurNombre.


Pour la divisions euclidienne, ce sera plus difficile. Tu pourra utiliser les congruences si tu sais le faire.


Blustuff






-------------------------------
Réponse au message :
-------------------------------

bah ouais c'est quoi ?
En fait si je pose la question c'est parce qu'on ma conseillé d'en faire une pour pouvoir manipuler
des tres grands nbres et de redefinir dedans les operations de base (+,-,*,/ et %)
(Mon but etant d'arriver a pouvoir faire des divisions euclidiennes de tres grds nombres)
D'ailleur, si quelqu'un a deja fait une telle classe, je suis preneur!

Merci d'avance a tous ceux qui m'aiderons



vendredi 6 septembre 2002 à 01:10:08 | Re : C quoi une classe en C ?

NettoyeurFantome

va sur haypoCALC : c un projet qui vise à faire une calc formelle

@+

Julien IBARZ alias [Nettoyeur]Fantome


-------------------------------
Réponse au message :
-------------------------------

Je vais pas détailler en entier, normallement il faut une 50n de pages pour parler des classes.
Une classe est un ensemble de variables en gros. En fait, c'est un ensemble de classes, une variable étant une classe, un tableau étant également un classe. On peut faire bcp de choses avec les classes, mais la ce qui t'interesse, c'est d'avoir une classe qui contient, 2 nombres la partie haute de ton grand nombre, et la partie basse. (Avec deux nombres, tu peux avoir un nombre qui a pour taille (4*10^9)^2 = 16*10^18 au maximum, ce qui est corect, si tu veux plus grand, utilise plus de deux variables. Tu définis ta classe :

//Cela définit une classe contenant deux variables int :
//sizeof(GrandNombre) = 4*2 = 8

class GrandNombre
{
int PartieaBasse;
int PartieHaute;
};


Ensuite tu dois surcharger tes opérateurs pour cette classe

GrandNombre& operateur++(GrandNombre& Nombre)
{
Nombre.PariteBasse++; //Incrementation de la partie basse du nombre
if (Nombre.PartieBasse) //Si la partie basse est nulle,
Nombre++; Incrementer la partie haute
}


Evidement ici c'est beaucoup plus simple. Pour d'autres opérations comme l'addition on peut utiliser les registres du processeurs pour savoir si il y a une retenue sur la partie haute (d'ailleur on peut aussi pour l'addition).
Il faut encore que je t'explique encore qqchose sur les classes.

GrandNombre MonNombre; //C'est une déclaration d'instance de classe. C'est une variable qui suit le modèle de la déclaration (premier exemple)

GrandNombre* MonPointeurSurNombre; //Un pointeur sur une classe de type Grand Nombre

MonNombre.PartieBasse; //Accès a la partie basse de MonNombre

MonPointeurSurNombre->PartieBasse; //Accès a la partie basse de la variable pointée par MonPointeurSurNombre.


Pour la divisions euclidienne, ce sera plus difficile. Tu pourra utiliser les congruences si tu sais le faire.


Blustuff






-------------------------------
Réponse au message :
-------------------------------

bah ouais c'est quoi ?
En fait si je pose la question c'est parce qu'on ma conseillé d'en faire une pour pouvoir manipuler
des tres grands nbres et de redefinir dedans les operations de base (+,-,*,/ et %)
(Mon but etant d'arriver a pouvoir faire des divisions euclidiennes de tres grds nombres)
D'ailleur, si quelqu'un a deja fait une telle classe, je suis preneur!

Merci d'avance a tous ceux qui m'aiderons




lundi 10 novembre 2003 à 00:16:48 | Re : C quoi une classe en C ?

D1m3x

dans le sujet : classe en C -> c'est en C++ les classes, mais bon...
[DmX]



Cette discussion est classé dans : classe


Répondre à ce message

Sujets en rapport avec ce message

ouverture de base Access [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset VCplusplus 6 [ par emaskaoui ] Comment je peux acceder au membre données d'une la classe à partir d'une autre classe? Merci dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset Base de donées ADO [ par header ] Apres avoir importe la dll et tout ce qui faut pour qu'une classe générique de CADORecordBinding soit crée j'ai un problème : lorsque je commence mes AIDEZ MOI : LE DOWNLOAD AVEC la classe CHTMLVIEW [ par header ] il me faudrait un topo sur la classe CHtmlViewje ne sais pas comment faire une pause dans un telechargement...................AIDEZ MOI builder c++ 5 compile pas chez moi [ par ferrari ] voila j'ai un projet sous builder qui compilej'ai rajouter une classe perso mais lorsque je compile et que j'appelle une methode de ma classe, il me d Récupérer le Handle de l'appli [ par Stoomm ] Bonjour,Explication :J'ai une classe D3Dapp qui crée la fenetre.Dans une autre classe (qui va servir a D3Dapp), j'aimerais récupérer le handle de la f Visual c++ [ par Maxus ] Salut,j'ai un probleme sous visual c++ lorque j'execute une fonction d'une classe à partir d'une autre...Explication : dans une fenetre, j'ai une list INSTANCIER UNE CLASSE D'UNE DLL [ par KL ] Bonjour,J'ai un enorme problème !J'ai créé une DLL avec des classes dedansMaintenant je veux pouvoir importer ces classes dans un prog Win32 et pouvoi HELP ME C'est quoi une classe ? [ par Oceane ] salut,j'aurais besoin d'un petit coup de main. Je viens de commencer C++ et oui y un dédut à tout Je m'explique, j'ai un projet à faire pour mon exame


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.