Menu
Coddy logo textTech

Métodos (Funções Membro)

Parte da seção Programação Orientada a Objetos do Journey de C++ da Coddy — lição 8 de 104.

Funções membro definem o que um objeto pode fazer. Elas possuem um tipo de retorno, um nome e parâmetros opcionais.

Método que retorna um valor

class Calculator {
public:
    int add(int a, int b) {
        return a + b;
    }
};

Método void (sem valor de retorno)

class Printer {
public:
    void printMessage(std::string msg) {
        std::cout << msg << std::endl;
    }
};

Método que retorna bool

class Checker {
public:
    bool isPositive(int num) {
        return num > 0;
    }
};

Declarando no cabeçalho, implementando no arquivo fonte

// Calculator.h
class Calculator {
public:
    int add(int a, int b);
};

// Calculator.cpp
int Calculator::add(int a, int b) {
    return a + b;
}

O tipo de retorno vem antes do nome do método. Use void quando um método não retorna nada. O operador de resolução de escopo :: vincula as implementações às suas classes.

challenge icon

Desafio

Médio

Implemente quatro funções membro para a classe StringHelper com diferentes tipos de retorno e parâmetros:

  • getLength() — retorna int, o comprimento do texto
  • toUpperCase() — retorna std::string, o texto em letras maiúsculas
  • contains(std::string word) — retorna bool, se o texto contém a palavra
  • repeat(int times) — retorna std::string, o texto repetido com espaços

Folha de consulta

Funções membros definem o que um objeto pode fazer. Elas possuem um tipo de retorno, um nome e parâmetros opcionais.

Método retornando um valor:

class Calculator {
public:
    int add(int a, int b) {
        return a + b;
    }
};

Método void (sem valor de retorno):

class Printer {
public:
    void printMessage(std::string msg) {
        std::cout << msg << std::endl;
    }
};

Método retornando bool:

class Checker {
public:
    bool isPositive(int num) {
        return num > 0;
    }
};

Declarando no cabeçalho, implementando no arquivo fonte:

// Calculator.h
class Calculator {
public:
    int add(int a, int b);
};

// Calculator.cpp
int Calculator::add(int a, int b) {
    return a + b;
}

O tipo de retorno vem antes do nome do método. Use void quando um método não retorna nada. O operador de resolução de escopo :: vincula as implementações à sua classe.

Experimente você mesmo

#include <iostream>
#include "StringHelper.h"

int main() {
    std::string input;
    std::getline(std::cin, input);
    
    StringHelper helper;
    helper.text = input;
    
    std::cout << "Original: " << helper.text << std::endl;
    std::cout << "Length: " << helper.getLength() << std::endl;
    std::cout << "Uppercase: " << helper.toUpperCase() << std::endl;
    std::cout << "Contains 'World': " << (helper.contains("World") ? "yes" : "no") << std::endl;
    std::cout << "Repeated: " << helper.repeat(3) << std::endl;
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos