T
tequila
errors:
Complex.cpp:27: error: no matching function for call to
'Complex::Complex()'
Complex.cpp:11: note: candidates are: Complex::Complex(double, double)
Complex.cpp:9: note: Complex::Complex(const Complex&)
Complex.cpp:48: error: no matching function for call to
'Quaternion::Quaternion(Complex&)'
Complex.cpp:27: note: candidates are: Quaternion::Quaternion(double,
double, double, double)
Complex.cpp:44: note: Quaternion::Quaternion(const
Quaternion&)
can someone please help?
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
class Complex {
public:
Complex(double m,double n) { r = m; i = n; }
virtual void add(Complex w) { r += w.r; i += w.i; }
string myinfo() {
return "I am a complex "; }
double getr() {
return r; }
double geti() {
return i; }
private:
double r,i;
};
class Quaternion : public Complex {
typedef Complex super;
public:
Quaternion(double m,double n,double o, double p) {
Complex(m,n); j = o; k = p; }
void add(Quaternion x) { super::add(x);
j += x.j; k += x.k; }
string myinfo(){
return "I am a quaternion " + super::myinfo()+ " "; }
double getk() {
return k; }
private:
double j,k;
};
int main() {
Complex z = Complex(1.0,1.0);
cout << z.myinfo() <<endl;
Complex w = Complex(1.0,1.0);
Quaternion q = Quaternion(1.2,3.4,5.6,7.8);
z = q;
z.add(w);
cout << z.myinfo() << endl;
q.add((Quaternion) z);
cout << q.myinfo() << endl;
}
Complex.cpp:27: error: no matching function for call to
'Complex::Complex()'
Complex.cpp:11: note: candidates are: Complex::Complex(double, double)
Complex.cpp:9: note: Complex::Complex(const Complex&)
Complex.cpp:48: error: no matching function for call to
'Quaternion::Quaternion(Complex&)'
Complex.cpp:27: note: candidates are: Quaternion::Quaternion(double,
double, double, double)
Complex.cpp:44: note: Quaternion::Quaternion(const
Quaternion&)
can someone please help?
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
class Complex {
public:
Complex(double m,double n) { r = m; i = n; }
virtual void add(Complex w) { r += w.r; i += w.i; }
string myinfo() {
return "I am a complex "; }
double getr() {
return r; }
double geti() {
return i; }
private:
double r,i;
};
class Quaternion : public Complex {
typedef Complex super;
public:
Quaternion(double m,double n,double o, double p) {
Complex(m,n); j = o; k = p; }
void add(Quaternion x) { super::add(x);
j += x.j; k += x.k; }
string myinfo(){
return "I am a quaternion " + super::myinfo()+ " "; }
double getk() {
return k; }
private:
double j,k;
};
int main() {
Complex z = Complex(1.0,1.0);
cout << z.myinfo() <<endl;
Complex w = Complex(1.0,1.0);
Quaternion q = Quaternion(1.2,3.4,5.6,7.8);
z = q;
z.add(w);
cout << z.myinfo() << endl;
q.add((Quaternion) z);
cout << q.myinfo() << endl;
}