C ++ função clássica definição de função de exemplo e método de chamada, função sobrecarregada e uso de função do sistema

1. Formato de definição de função:
tipo de retorno nome da função (lista de parâmetros)
{ corpo da função; }

  • O tipo de retorno de uma função personalizada pode ser int, double, char, etc. Se não houver valor de retorno, o tipo pode ser nulo.
  • O nome da função é um identificador, e seu nome deve ser nomeado de acordo com as regras de identificadores.
  • Pode haver um ou mais parâmetros na lista de parâmetros. Os parâmetros são separados por vírgulas. Cada parâmetro é composto por tipo e nome de parâmetro. A lista de parâmetros também pode estar vazia.
  • Exceto para funções personalizadas cujo tipo de retorno é nulo, pelo menos uma instrução no corpo da função é uma expressão de retorno para retornar o valor da função.

Perguntas de exemplo:
1. Escreva uma função para converter a temperatura Fahrenheit em Celsius, a fórmula de conversão é: C = (F-32) * 5/9

#include<iostream>
using namespace std;
//定义一个转换温度的函数
int exchange(int F)
{
    
       
 int C;    
 C=(F-32)*5/9;	 
 return C;
 }
 void main()
 {
    
    	
 int x;	
 cin>>x;
 cout<<exchange(x)<<endl;//在主函数中调用exchange()函数
 }

Entrada: 32
Saída: 0

2. Função sobrecarregada Função
sobrecarregada é um caso especial de função. Para facilidade de uso, C ++ permite que várias funções com o mesmo nome sejam declaradas no mesmo escopo, mas os parâmetros formais dessas funções com o mesmo nome (consulte o número e tipo de parâmetros) Ou ordem) deve ser diferente, ou seja, usar a mesma função para completar funções diferentes. Esta é a função sobrecarregada.

Exemplos:
2. Escreva a função de sobrecarga max1 para obter o valor máximo de dois inteiros, três inteiros, dois números de ponto flutuante e três números de ponto flutuante, respectivamente.

#include<iostream>
using namespace std;
int maxl(int x ,int y)//返回两个整数中的最大值
{
    
    
return (x>y?x:y);
}
int maxl(int x,int y,int z)//返回三个整数中的最大值
{
    
      
 int t;
 t=maxl(x,y);
 return (t>z?t:z);
 }
 float maxl(float x,float y)//返回两个浮点数中的最大值
 {
    
    	
 return (x>y?x:y);
 }
 float maxl(float x,float y,float z)//返回三个浮点数中的最大值
 {
    
       
        int t;
 	t=maxl(x,y);	
 	return (t>z?t:z);
 	}
 void main()
 {
    
    
 int a,b,c;
 float x,y,z;
 cout<<"输入两个整数:"<<endl;
 cin>>a>>b;
 cout<<"大:"<<maxl(a,b)<<endl;
 cout<<"输入三个整数:"<<endl;
 cin>>a>>b>>c;
 cout<<"大:"<<maxl(a,b,c)<<endl;
 cout<<"输入两个浮点数:"<<endl;
 cin>>x>>y;cout<<"大:"<<maxl(x,y)<<endl;
 cout<<"输入三个浮点数:"<<endl;
 cin>>x>>y>>z;
 cout<<"大:"<<maxl(x,y,z)<<endl;
 }

Por exemplo:
Insira dois números inteiros: 2 9
grande: 9
insira três números inteiros: 3 8 6
grande: 8
insira dois números de ponto flutuante: 3,0 9,7
grande: 9,7
insira três números de ponto flutuante: 4,6 8,9 7,3
grande: 8

As quatro funções declaradas no programa acima são funções sobrecarregadas umas para as outras. Elas atendem a uma ou duas das duas condições de diferentes tipos de parâmetros e diferentes números de parâmetros. O compilador encontrará automaticamente aquele a ser chamado de acordo com os diferentes parâmetros. função.

3. Use a função do sistema pow (x, y) para calcular o valor de xy, preste atenção para incluir o arquivo de cabeçalho math.h.

#include<iostream>
#include<math.h>
using namespace std;
void main()
{
    
    	
int x,y;	
cout<<"x=";	
cin>>x;	
cout<<"y=";	
cin>>y;
cout<<"x^y="<<pow(x,y)<<endl;
}

Por exemplo:
x = 3
y = 2
x ^ y = 9

4. Calcule o fatorial de 3

#include<iostream>
using namespace std;
int fun(int x)
{
    
    
int N,s=1;
for(N=1;N<=x;N++)
{
    
    s=s*N;}
return s;
}

void main()
{
    
    int x,N;
cin>>N;
x=fun(N);
cout<<N<<"!="<<x<<endl; 
	}

Entrada: 3
Saída: 3! = 6

Experiência:
1. No mesmo escopo, você pode declarar várias funções com o mesmo nome com funções semelhantes, mas os parâmetros formais (referentes ao número, tipo ou ordem dos parâmetros) dessas funções com o mesmo nome devem ser diferentes. Funções não podem ser sobrecarregadas apenas pela diferença no tipo de retorno
2. O operador de chamada de função () pode ser sobrecarregado para objetos da classe. Ao sobrecarregar (), você não está criando uma nova maneira de chamar uma função, pelo contrário, está criando uma função de operador que pode passar qualquer número de parâmetros

Acho que você gosta

Origin blog.csdn.net/haha_7/article/details/109012656
Recomendado
Clasificación