Request Short Link
C++ 98
C++ 11
C++ 14
C++ 17
C++ 20
C++ 23
C++ 2c
for-loops as while-loops
array subscription
Show all implicit casts
Show all template parameters of a CallExpr
Use libc++
Transform std::initializer_list
Show noexcept internals
Show padding information
Show coroutine transformation
Show C++ to C transformation
Show object lifetime
Default
15
18
20
22
26
More
GitHub
Patreon
Issues
About
Policies
Examples
C++ Insights @ YouTube
Settings
Version
Workshop: Safe and Efficient C++ for Embedded Environments
×
Made by
Andreas Fertig
Powered by
Flask
and
CodeMirror
Source:
#ifndef RACIONAL_H #define RACIONAL_H #include <iostream> class Racional { public: Racional(); //Default constructor Racional(int num, int den); //Constructor Racional(Racional& r); //Copy constructor Racional& operator=(Racional& racional); //Assigment operator Racional& operator+=(Racional& racional); int denominador(); int numerador(); private: int num; int den; }; std::ostream& operator<<(std::ostream& out, Racional& r); std::istream& operator>>(std::istream& in, Racional& r); #endif // RACIONAL_H #include <iostream> Racional::Racional(): num(0), den(1) { } Racional::Racional(int num, int den): num(num),den(den) { } Racional::Racional(Racional& r): num(r.num) , den(r.den) { } Racional& Racional::operator+=(Racional& r) { num= num*r.den + r.num*den; den = den*r.den; return *this; } std::ostream& operator<<(std::ostream& out,Racional& r) { out<<r.numerador(); out<<'/'; out<<r.denominador(); return out; } Racional::denominador() { return den; } Racional::numerador() { return num; } std::istream& operator>>(std::istream& in, Racional& r) { int num; int den; char ch; in>>num; in>>ch; in>>den; r = Racional(num,den); return in; }
Insight:
Console: