Fonctions en C ++




fonction en C ++, fonction c ++

Ayant pas si loin de notre première leçon par cette, vous “atteint” à l'étude des fonctions C ++. fonctions – est un morceau nommé code, qui est répété dans le programme 2 fois ou plus . Lorsque nous écrivons la fonction, vous devez lui donner un nom à l'avenir, à sa cause dans le programme (de Principal() ou d'une autre fonction), il est nécessaire de se référer à elle par ce nom.

Nous avons déjà vu la fonction dans les leçons précédentes. cette fonctions de lignes (tableaux de caractères) strlen(), strcmp(), la fonction de génération de nombres aléatoires rand(). Nous les avons utilisés dans les programmes et, par exemple, Nous sommes passés dans la fonction strlen() date limite, et elle nous est revenu au nombre de caractères dans cette chaîne (entier). Il n'a certainement pas eu lieu comme par magie, et la fonction a notre chaîne, traite et nous renvoie à la valeur de, est estimé. C'est, quelqu'un nous a écrit ceci est le code de fonction, estime que la durée de la ligne, et nous utilisons avec succès dans leurs programmes. Et cette fonction est grande sauve notre temps, Il réduit le nombre de lignes de code et facilite la lisibilité.

que – Nous avons ces merveilleux fonctions de la bibliothèque standard, que nous pouvons utiliser dans leurs programmes, mais dans la plupart des cas, chaque nouvel emploi est des caractéristiques uniques et standards ne correspondent pas toujours. En C ++, le programmeur peut écrire votre propre fonction indépendante et de l'appliquer avec le même succès, comme des fonctions de bibliothèque.

Jusqu'à un certain temps, vous pouvez le faire sans fonctions. Au lieu de cela, pour produire la même section de code dans l'ensemble du programme. Mais si vous devez changer le code (mettre à jour ou supprimer quelque chose de lui), Nous devons apporter des changements tout au long du programme. Mieux juste pour maîtriser les fonctions de sujet et appliquer activement.

Définir la fonction de deux manières:

  • à Principal-fonctions;
  • après Principal-fonctions. Dans ce cas, il est nécessaire de Principal-fonctionner pour annoncer son propre prototype de fonction.

Dans cet article, et ce qui suit, nous utiliserons la deuxième méthode, car il est plus fréquent. La première méthode peut être utilisée, Si une fonction et son code est très faible. Comme nous écrivons des programmes simples, cela arrive souvent. Mais pour des programmes plus complexes, nous allons écrire quelques fonctionnalités qui ne se compose pas de 2-3 temps, et plus. Je vais vous montrer comment rechercher la définition d'une fonction Principal():

L'utilisation d'un prototype, il ressemblerait:

Le prototype de la fonction est placée dans une rangée 4, et sa définition est au fond du programme en lignes 20 – 25. En ce qui concerne la mise en œuvre du programme: lit d'abord compilateur prototype. Cela lui donnera à connaître, que quelque temps après Principal() est la définition de cette fonction,. Ensuite, lancer la fonction principale Principal(). Il sera réalisé, jusqu'à ce que le compilateur ne correspond pas à un nom de fonction ourFunctionForPrint(). Ensuite, il trouvera la définition de cette fonction,, qui est situé après la Principal(), nommément, dans les prototypes spécifiés, exécuter son code, puis retourne à nouveau à l'exécution de la commande Principal-fonctions.

En conséquence, l'écran verra:

fonction en C ++, fonction c ++

Parlons de la définition des fonctions.

Fonctions en C ++ ne peut renvoyer aucune valeur (comme dans l'exemple) et peut retourner une valeur. Si la fonction ne retourne rien, il est une fonction de type vide.

syntaxe de la fonction, qui ne renvoie pas une valeur:

функции c++, функции в с++

Le nom de la fonction doit être donnée au maintien règles pour les noms de variables. la seule – il est souhaitable de contenir le verbe, parce que la fonction effectue une action. Par exemple, si elle considère que la moyenne arithmétique peut être donné un nom calculateAverage, Si la sortie est quelque chose à l'écran – showText. Le nom doit parler pour lui-même, il n'a pas été nécessaire de laisser des commentaires inutiles dans le code.

paramètres (ou des arguments de fonction) – ces données, qui reçoit et traite la fonction dans le corps. Si les fonctions ne ont pas besoin de prendre quoi que ce soit pour le traitement, entre parenthèses sont laissés vides. selon les règles High Integrity C ++ standard de codage il est conseillé de ne pas définir des fonctions avec un grandetm nombre de paramètres (plus grande 6).

Considérons quelques exemples des fonctions, qui acceptent les paramètres et les valeurs de retour.

Il faut un paramètre:

Dans la dixième ligne de fonction de code reçoit un paramètre – entier 7. avec lui (avec ce numéro) il alors, comme décrit dans la définition de – lignes 16 – 22. à savoir – ce nombre sera substitué dans l'en-tête de cycle pour. expression je < questionCount Cela équivaudrait à je < 7 . En conséquence, nous verrons à l'écran 7 points d'interrogation.

fonction en C ++, fonction c ++

Il faut trois paramètres:

fonction c ++, fonction en C ++

syntaxe de la fonction, qui renvoie une valeur:

функции в с++, функции c++

Ces fonctions diffèrent, il est nécessaire de préciser le type de valeur, qui renvoie une fonction à la suite de leur travail. Sam retourne la valeur dans le programme établi par l'opérateur retour et que la valeur du programme recevra au point, où la fonction a été appelée . retour peut retourner une variable, constante ou le résultat de l'expression (par exemple: retour variable1 - variable2; ). Le corps de la fonction peut être plusieurs opérateurs retour. puis, la fonction de travail est terminée, si le travail de certains de ces opérateurs. par exemple:

Une définition de fonction se trouve dans les lignes 28 – 34. Si l'utilisateur saisit +, unité de travail si en ligne 30, et par conséquent, il travaillera retour d1 + d2; . Après cela, le code de fonction ne sera pas traitée plus. Le compilateur retourne à effectuer Principal-fonctions.

fonction c ++, fonction en C ++

Vous avez peut-être remarqué, que dans le code précédent, les noms des paramètres dans le prototype et la définition de fonction diffèrent des noms de variables, qui sont passés à la fonction de Principal. Le point est – paramètres définissant le prototype de la fonction et le formel. Quand on passe les variables comme paramètres, fonction ne fonctionne pas avec les variables d'origine, et leurs répliques exactes. Ces copies sont créées en mémoire au moment de l'appel de fonction. Elle travaille avec ces homologues, et à la fin des travaux, des copies sont détruites. Ainsi, dans le prototype, vous pouvez utiliser les noms de variables exactes, mais en tout cas, la fonction ne fonctionne pas directement avec eux, et avec leurs homologues. Autrement dit, les variables elles-mêmes, il ne peut pas changer. Lorsque vous familiariser avec les leçons suivantes pointeurs et lien – apprendre, comment vous pouvez modifier les valeurs des variables passées dans le corps de la fonction.

Un peu plus sur le prototype: lire avant Principal, compilateur reçoit des informations sur, quel type de valeur de retour de la fonction sera (ou elle ne retourne pas de valeur – est de type vide) et que, quels paramètres seront transférés à ce, combien et dans quel ordre.

prototype int calculateSomeDigits(int d1, int d2, carboniser ch); Il indique au compilateur, que la fonction sera de retour à l'endroit de son entier et faire appel à, que lorsque vous appelez doit être transféré à deux entiers et un caractère. Lorsque vous appelez une fonction, nous devons lui donner autant de paramètres comme indiqué dans son titre lors de la détermination. paramètres de vol doivent être dans le même ordre, tel que défini dans les parenthèses de la fonction name. Dans le cas contraire, des erreurs se produiront lors de la compilation d'un programme ne fonctionnera pas correctement.

La syntaxe du prototype de fonction:

prototype de fonction en C ++

Si plusieurs paramètres – ils doivent être séparés par une virgule. La meilleure façon de déclarer un prototype – Cette copie de la définition de la première ligne (tête) et après la parenthèse fermante d'ajouter un point-virgule.

fonction en C ++, fonction c ++, prototype de fonction

Les noms de variables, les paramètres de l'art antérieur peuvent être omis. Le prochain prototype est équivalent à, que ci-dessus.

fonction en C ++, fonction c ++, prototype de fonction

À mon avis, il est préférable de déclarer les prototypes de fonction, en indiquant les noms des paramètres. Surtout si plusieurs options et ils ont le même type. Pour faciliter la lecture et la compréhension du programme serait mieux.

Pour résoudre ce problème, Que dire dans cet article, Nous devons pratiquer. Voir l'article de tâches à des fonctions en C ++ . Vous y trouverez également des informations sur, comment transmettre en fonction des tableaux en tant que paramètres. conseil – Ne vous contentez pas de lire, et le code d'écriture! Il est souhaitable de sa propre.

Vidéos similaires:

Recherchez les mises à jour sur nos liens de site Web et partager des articles avec des amis!

Bulletin de nouvelles leçons sur la programmation:

Fonctions en C ++
5 (100%) 1 vote

24 réflexions sur "Fonctions en C ++

  1. Même dans la première leçon que vous avez écrit, qui devrait être écrit à la fin de chaque retour de programme = 0 et a ajouté, que, dans les leçons suivantes vous expliquera ce qu'il faut faire et ce qui est en général quelque part revenir là-bas zéro. Je pense que, qui aurait le temps de remplir la promesse. S'il vous plaît expliquer pourquoi vous avez besoin d'un remboursement, et pourquoi on peut non seulement avancer nol.Spasibo.

    1. ))) Selon la dernière norme C ++, déjà ne peut pas écrire retour 0; Le programme et son propre rendement indépendamment du fait que nous prescrivons ou non. cela signifie que, elle (programme) rempli et fermé. Mais toutes sortes d'autres valeurs peuvent être retournés à, pour détecter les erreurs dans le programme de travail. Par exemple programmé dans des fonctions pour une condition et si elle ne se contente pas – retour de la valeur de la fonction -1 (ou de tout autre), et si vous exécutez retour 1. De plus, le registre de l'état, que si la fonction retourne -1 – L'erreur. retour 1 – vous pouvez continuer à travailler (fonction a bien fonctionné).
      Vous pouvez lire notre leçon sur les exceptions en C ++: http://purecodecpp.com/archives/2044

    2. Un retour à la fin des principales fonctions du programme principal(), J'ajouterai, retourne le résultat de l'exécution l'ensemble du programme le système d'exploitation: 0 – succès, La valeur non nulle – quelque chose dans le programme n'a pas été.

      1. Le script doit réagir aux changements de couleur à l'écran, mais en ligne 11 où la première AutoIt accolade a écrit que vous ne pouvez pas analyser une chaîne. Aide s'il vous plaît:

        où x0 = 0, y0 = 0, x1 = 100, Y1 = 100; // un fragment de l'écran 0:0 à 100:100

        Je crc0 = ait.pixelchecks(x0, y0, x1, y1);

        tandis que(vrai)
        {
        WSH.sleep(500); // vérifié chaque 0.5 seconde
        var crc = ait.pixelChecksum(x0, y0, x1, y1);
        si(crc!= crc0)
        {
        crc0 = crc;
        sapi.speak(“Alarme! Photo changé.”) // crie une voix humaine )
        }
        }

  2. en fait, tout ce qui concerne les spécificités de l'affichage à l'écran, à C ++ n'a pas d'incidence sur les, et de 100% est défini comme étant).qu'est-ce que votre système d'exploitation … essayer, et b).dans lequel l'outil graphique, bibliothèque, outil се.

    Et en fonction de ces options et) et b) différentes réponses et des conseils peuvent être million.

  3. et) sept, b) Je ne comprends pas. AutoIt à travers le programme doit exécuter le script. aider. Peut-être il y a un autre programme, qui remplit la même fonction, Partager un lien. Peut-être il y a un programme, qui répond à un son particulier?Donnez également un lien si vous connaissez. Aide s'il vous plaît.

    1. 1. Je ne sais pas ce qui est dans Windows 7 (et je ne voulais pas vraiment savoir)
      2. Votre question ne s'applique pas de côté à la programmation en C ++ … et même à la programmation en général – il est une question de programmes spécifiques et leur utilisation.
      4. si vous avez spécifiquement indiqué la. des questions (ce que vous voulez?), et même sans tenir compte de Windows spécifique OS 7 (comment faire résoudre ces problèmes?) vous pouvez demander:
      https://toster.ru/my/feed – ici
      http://rus-linux.net/forum/index.php – ou ici

  4. Merci pour l'info! Et comment faire une bibliothèque de fonctions? merci d'avance( Désolé pour les erreurs, s'il!) )

    1. Comprenez-vous bien ce que vous voulez, quand vous dites “bibliothèque”?
      1. Vous pouvez créer un fichier objet compilé séparément, contenant certaines de vos fonctions, et ce fichier seront collectées ensemble avec votre application.
      2. Vous pouvez créer bibliothèque statique, qui doivent être collectées avec votre demande.
      3. Vous pouvez créer bibliothèque dynamique, commun, DLL, qui doit être chargé (système) lors de l'exécution de votre application.

  5. Comme on peut être affecté à la variable de résultat en fonction de la fonction de base?
    par exemple,: une fonction à double appel: retour deux résultats.
    Comment peuvent-ils comparer?
    Étant donné que ces résultats sont attribués aux variables dans la fonction principale.?

    1. comme ça:

      Ou encore comme ça:

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *