Heim >Computer-Tutorials >Computerwissen >So erklären Sie die Funktionsüberladung in C

So erklären Sie die Funktionsüberladung in C

王林
王林nach vorne
2024-01-12 11:36:041212Durchsuche

Wie man Funktionsüberladung in C erklärt

Angenommen, wir definieren zwei Funktionen im Programm: String test(String str1) und dann int test1(int i). Ihr Inhalt sind sehr einfache Funktionen

String-Test(String str1){

Response.Write („Funktionsüberlastungstest, dies ist eine String-Funktion“);

Gib „123232“ zurück;

}

int test(int i){

Response.Write („Funktionsüberlastungstest, das ist eine int-Funktion“);

Rückkehr

1;

}

Wenn wir test("Tofu") und test(888) aufrufen, meldet der Compiler nicht nur keinen Fehler, sondern führt auch unterschiedliche Ergebnisse aus, wie dieses.

Funktionsüberladung bringt uns großen Komfort im Programmierprozess. Wir können den Compiler entscheiden lassen, je nach Änderungen unserer Parameter unterschiedliche Codes auszuführen. Und dieses auch

Eines der Hauptmerkmale der objektorientierten Programmierung. Ich glaube, dass MS wirklich möchte, dass ASP.Net zum Standard für die zukünftige Programmierung im Web wird.

c-Funktionsüberladung

Sie können die Initialisierung nach Belieben ändern. Achten Sie darauf, auch die globalen Variablen zu ändern. Ich weiß nicht, ob die Zeichenfolge die längste ist. Wenn Sie die ASCII-Codegröße vergleichen möchten, ändern Sie einfach die Funktion.

#include

#include "string.h"

#define n 3

Klassenvektor

{

öffentlich:

Vector(){}

int max(int ​​​​z[])

{

int maxNumber=z[0];

for(int i=0;i {

if (maxNumber }

maxNumber zurückgeben;

}

double max(double z[])

{

double maxNumber=z[0];

for(int i=0;i {

if (maxNumber }

maxNumber zurückgeben;

}

long max(long z[])

{

long maxNumber=z[0];

for(int i=0;i {

if (maxNumber }

maxNumber zurückgeben;

}

float max(float z[])

{

float maxNumber=z[0];

for(int i=0;i {

if (maxNumber }

maxNumber zurückgeben;

}

char* max(char z[3][10])

{

char maxNumber[10];

strcpy(maxNumber,z[0]);

for(int i=0;i {

if(strlen(maxNumber) }

maxNumber zurückgeben;

}

};

void main()

{

Vector vt;

int a1[3]={1,3,2};

double a2[3]={2.5,7.8,9.3};

long a3[3]={1000,5677,3456};

float a4[3]={1.5f,5.7f,3.8f};

char a5[3][10]={"I","love","china"};

char maxVector[10]={0};

cout cout cout cout int i=0;

strcpy(maxVector,vt.max(a5));

while(maxVector[i]!='

{

cout

}

cout

}

Cs Problem mit überladenen Funktionen in Klassenvorlagen

/*

In deinem Code

T_counter& Operator =(T_counter x)

{

this->data=x.data;

return *this;

}

T_counter& Operator +(T_counter x)

{

this->data+=x.data;

return *this;

};

Wenn Sie c=a+b ausführen, dann ist c der Wert von a+b und a ist auch der Wert von a+b!

*/

//Ändern Sie den Code wie folgt und probieren Sie es aus

#include

using namespace std;

Vorlage

Klasse T_Zähler

{

öffentlich:

T_counter(t a=0)

{

data=a;

}

T_counter& Operator =(T_counter x)

{

this->data=x.data;

return *this;

}

T_counter-Operator +(T_counter x)

{

T_counter y;

y.data=this->data+x.data;

zurück y;

}

T_counter-Operator -(T_counter x)

{

T_counter y;

y.data=this->data-x.data;

zurück y;

}

T_counter-Operator *(T_counter x)

{

T_counter y;

y.data=this->data*x.data;

zurück y;

}

Freund ostream & Betreiber{

wocareturnwoca;

}

Freund istream & Operator >>(istream &input,T_counter & x)

{

cin>>x.data;

Return-Eingabe;

}

t getdata()

{

dies zurückgeben->Daten;

}

privat:

t Daten;

};

int main()

{

T_counter a(5.9),b(6.6),c(0);

coutc=a+b;

coutc=(a-b);

coutc=a*b;

coutcoutcin>>c;

coutsystem("pause");

return 0;

}

Das obige ist der detaillierte Inhalt vonSo erklären Sie die Funktionsüberladung in C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen