Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Rationale Zahlen
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Title of this code #include <iostream> using namespace std; class Q{ double zahler; double nenner; double div; public: Q(double x=0, double y=1){ init(x, y); } void init(double z, double n){ zahler=z; if(n!=0) nenner=n; else nenner=1; } double wert(){ if(zahler==0 && nenner==0){ //cout << "Double Wert ist: 0" << endl; }else{ div=zahler/nenner; //cout << "Double Wert ist: " << div << endl; return div; } } int ggt(int a, int b){ if(a<b){ int temp=a; a=b; b=temp; } if(b==0) return a; else return ggt(b, a%b); } void kuerzen(double zKuerzen, double nKuerzen){ zahler=zKuerzen/ggt(zKuerzen,nKuerzen); nenner=nKuerzen/ggt(zKuerzen,nKuerzen); } void print(){ kuerzen(zahler,nenner); cout << "Bruchform der Zahl ist: " << zahler << "/" << nenner << endl; } Q operator+(Q amount); friend std::ostream& operator<<(std::ostream& stream, Q p); }; Q Q::operator+(Q amount){ return Q(this->zahler+amount.wert()); } std::ostream& operator<<(std::ostream& stream, Q p) { stream << p.wert() << std::endl; return stream; } int main() { Q a; Q b=10; Q c(3,9); a.print(); b.print(); c.print(); a.wert(); b.wert(); c.wert(); Q d=a+b; cout << d; return 0; }
gcc
Show compiler warnings
[
+
] Compiler args
[
+
]
Show input
Compilation time: 0.04 sec, absolute service time: 0.21 sec
fork mode
|
history
|
discussion