I'm working on a program that takes a string
and a int
as variables for my friend
constructors. I have most of my program done, but since I'm new to this topic of friend
s and constructors with C++, I don't know how to implement the call on my main()
to use these parameters and start working on my istream
and ostream
to ask the user to input
the values and start printing it.
Could someone please guide me the right way?
These are my current constructors:
jellyBeanFlavors::jellyBeanFlavors()
{
flavor = "null";
jellyBeans = 0;
}
jellyBeanFlavors::jellyBeanFlavors(int newJellyBeans)
{
flavor = "null";
jellyBeans = newJellyBeans;
}
jellyBeanFlavors::jellyBeanFlavors(string newFlavor, int newjellyBeans)
{
flavor = newFlavor;
jellyBeans = newjellyBeans;
}
void jellyBeanFlavors::output()
{
cout << flavor << " " << jellyBeans << endl;
}
Now I'm trying to implement here my objects and start making my questions for input and then print with my istream
function:
int main ()
{
jellyBeanFlavors::jellyBeanFlavors(string newFlavor, int newjellyBeans);
jellyBeanFlavors();
jellyBeanFlavors myFirstFlavor = jellyBeanFlavors.the;
jellyBeanFlavors mySecondFlavor;
jellyBeanFlavors total = 0;
cout << "Your first flavor is: "<< myFirstFlavor. << endl;
cin >> myFirstFlavor;
cout << "Your second flavor is: "<< mySecondFlavor << endl;
cin >> mySecondFlavor;
cout << "The expected result of adding" << " the first flavor loaded with" << mySecondFlavor <<" in the quantity with jellybean2 loaded with 6 in the quantity is: ";
cout << "a jellybean with a quantity of 11.
cout << "the result of adding jellybean1 and jellybean two is: " << jellybean1 + jellybean2 << endl;
// this isnt implemented right but i need advice please on how to call my objects from my main class.
system("pause");
return 0;
}
so you dont get confused here is my main class:
#include <iostream>
#include <string>
using namespace std;
class jellyBeanFlavors
{
friend jellyBeanFlavors operator + (jellyBeanFlavors theFirstJellyBean, jellyBeanFlavors theSecondJellyBean);//sums
friend jellyBeanFlavors operator - (jellyBeanFlavors theFirstJellyBean, jellyBeanFlavors theSecondJellyBean);//(binary) substracts
friend jellyBeanFlavors operator - (jellyBeanFlavors theFirstJellyBean);// (unary) checks negatives
friend jellyBeanFlavors operator * (jellyBeanFlavors theFirstJellyBean,jellyBeanFlavors theSecondJellyBean);//multiplies
friend jellyBeanFlavors operator / (jellyBeanFlavors theFirstJellyBean,jellyBeanFlavors theSecondJellyBean);//divides
friend jellyBeanFlavors operator == (jellyBeanFlavors theFirstJellyBean,jellyBeanFlavors theSecondJellyBean);//compares
friend jellyBeanFlavors operator < (jellyBeanFlavors theFirstJellyBean,jellyBeanFlavors theSecondJellyBean);// less than
friend jellyBeanFlavors operator > (jellyBeanFlavors theFirstJellyBean,jellyBeanFlavors theSecondJellyBean);//greater than
friend ostream& operator << (ostream& outputStream, const jellyBeanFlavors& jellyBeanOutput);// output
friend istream& operator >> (istream& inputStream, jellyBeanFlavors& jellyBeanInput);//input
public:
jellyBeanFlavors();
jellyBeanFlavors(int);
jellyBeanFlavors(string, int);
void output();
private:
string flavor;
int jellyBeans;
};
> my solution to my program by adding objects and overloading them:
my solution to my program by adding objects and overloading them:
int main ()
{
system("cls");
char op;
jellyBeanFlavors obj1,obj2,obj3;
do{
cin>>obj1; //flavor
cin>>obj2; //amount
system("cls");
cout<<"JELLYBEANS:"<<endl;
obj3=obj1+obj2;
cout<<"\n The Sum is : ";
obj3.output();
obj3=obj1-obj2;
cout<<"\n The Substraction is : ";
obj3.output();
obj3=obj1*obj2;
cout<<"\n The Multiplication is: ";
obj3.output();
obj3=obj1/obj2;
cout<<"\n The Divide operation is : ";
obj3.output();
cout<<"\n";
obj3 = obj1==obj2;
obj3.output();
cout<<"\n";
obj3 = obj1>obj2;
obj3.output();
cout<<"\n";
obj3 = obj1<obj2;
obj3.output();
cout<<"\n";
obj3 = -obj1;
obj3.output();
cout<<"\n";
obj3 = -obj2;
obj3.output();
cout<<"\n";
cout<<"\n\nPress A/a and Enter to continue or 0 to exit"<<endl;
cin>>op;
if(op = 0)
{
exit(0);
}
}while(op =='a'|| op=='A');
system("pause");
}