Как я могу осуществлять дружелюбную функцию, чтобы уменьшать два числа m1 и m2?

Функция, которая они складывает эту данную из-за: В файле, который содержит int main ():

 add(m1,m2, sum); 
 cout << "The sum is:"; 
 sum.display_money();

В файле.h:

 friend void add(AltMoney m1, AltMoney m2, AltMoney& sum);

В файле .cpp

void add(AltMoney m1, AltMoney m2, AltMoney& sum) 
{
 int extra = 0; 
 sum.cents = m1.cents + m2.cents; 
 if(sum.cents >=100){ 
     sum.cents = sum.cents - 100; 
     extra = 1; 
 }

 sum.dollars = m1.dollars + m2.dollars + extra; 
}

Начиная с этого осуществления я хочу уменьшить одну из другой...

Сумма в estoy звоня из-за ссылки, но я не нахожу логику, чтобы оставаться.

Спасибо за Ваше время и помощь.

1
задан 12.02.2017, 19:05
0 ответов

Las funciones amigas Разрешение на получение данных. funciones miembro; декларацию о грехе como amiga, se aplican las restciones habituales, por ejemplo:

class C
{
    int i;
};

void Suma_1(C &c)
{
    ++c.i; // Error, 'C::i' es privado!
}

int main()
{
    C c;
    Suma_1(c);
    return 0;
}

Para que una función seoadrada amiga debe декларатор dentro del objeto del que se quiere otorgar acceso; В настоящее время мы занимаемся этой деятельностью:

class C
{
    // Declaramos la funcion 'Suma_1' como amiga de la clase 'C'.
    friend void Suma_1(C &);
    int i;
};

void Suma_1(C &c) // Definimos la funcio 'Suma_1'.
{
    ++c.i; // Correcto, 'C::i' es privado, pero 'Suma_1' es amiga.
}
2
ответ дан 03.12.2019, 17:06

Теги

Похожие вопросы