C++ Викане на функция в друг Header?
Здравейте, имам проблем с викането на променлива и слагането на стойност в друг Header файл. Това което се опитвам да направя е нещо като Cola Machine, просто търих и попаднах на Project Ideas и реших да се захвана..
Ето го кода:
Person.h:
#include <iostream>
#include <string>
#pragma once
using namespace std;
class Person
{
public:
float balance;
void printBalance();
void setBalance();
};
Това което се опитвам да направя е, да извикам Balance и когато, if-овете проверяват дали има пари, да взимат или съответно да казва "Нямате пари"
ColaMachine.cpp :
#include <iostream>
#include <string>
#include "ColaMachineStocks.h"
#include "Person.h"
using namespace std;
ColaMachineStocks Stocks;
Person personFunctions;
void setbalance()
{
personFunctions.balance = 200;
}
void Person::printBalance()
{
cout << personFunctions.balance <<endl;
}
void setbalance();
void ColaMachineStocks::buyCola()
{
if (personFunctions.balance >= 100)
{
cout <<"You sucessful purschased Cola!"<<endl;
personFunctions.balance =-10;
}
else
{
cout << "You dont have enough money!"<<endl;
}
}
void buySprite(float priceForSprite = 5)
{
personFunctions.balance =-5;
}
void buyWater(float priceForWater = 1)
{
personFunctions.balance =-1;
}
void buyFanta(float priceForFanta)
{
personFunctions.balance =-15;
}
Какъв точно е проблема? Като гледам balance променливата в класа Person ти е публична и можеш да я променяш както си искаш.
Нещо не ми е ясно в методите за промяна на кол-вата
Така написано personFunctions.balance ще стане равно на -15 след изпълнението. Ако идеята е да се намали баланса с 15 пари то трябва да е така
Здравей, благодаря че се отзова! Проблема е, че когато искам да сложа някаква стойност на balance се получава това:
Това което искам да се получи е:
Да задам стойност на balance в ColaMachine.cpp
Зададената стойност да се взима след изпълние на функция void buyFanta();
Надявам се съм бил ясен, благодаря!
Ако пробваш така:
Въпреки че не ми се струва това да е проблем от int към float.