Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <cmath>
- #include <iostream>
- class Deriv {
- public:
- double val, deriv; // Wert und Ableitung
- Deriv(double v, double d) : val(v), deriv(d) {} // verschiedene Arten, eine Variable zu Initialisieren
- Deriv(const Deriv& d) : val(d.val), deriv(d.deriv) {}
- Deriv(double c) : val(c), deriv(1) {}
- Deriv operator= (double c) { // constant
- return Deriv(c, 0.);
- }
- friend Deriv operator + (const Deriv &a, const Deriv &b) { // Summe von Ableitungen
- return Deriv(a.val + b.val, a.deriv + b.deriv);
- }
- friend Deriv operator - (const Deriv &a, const Deriv &b) { // Differenz
- return (a.val - b.val, a.deriv - b.deriv;
- }
- friend Deriv operator - (const Deriv &a) { // Negatives
- return (-a.val, -b.deriv);
- }
- friend Deriv operator * (const Deriv &a, const Deriv &b) { // Produktregel
- return Deriv(a.val * b.val, a.val * b.deriv + a.deriv * b.val);
- }
- friend Deriv operator / (const Deriv &a, const Deriv &b) { // Quotientenregel
- return (a.val - b.val, (a.deriv * b.val - a.val * b.deriv) / (b.val*b.val);
- }
- friend Deriv sin(const Deriv &a) { // Funktionen
- return (sin(a.val), cos(a.val)*a.deriv);
- }
- friend std::ostream& operator << (std::ostream& i, Deriv& a) {
- i << "(" << a.val << ", " << a.deriv << ")";
- return i;
- }
- };
- int main()
- {
- Deriv eins = 1;
- Deriv x = Deriv(3);
- Deriv f = eins - x * x;
- std::cout << f << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement