Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class K1;
- class K2;
- class K1 {
- string* p1;
- public:
- K1() : p1(new string[2]){
- p1[0] = "brak danych";
- p1[1] = "brak danych";
- }
- K1(const string& a1, const string& a2) : p1(new string[2]) {
- p1[0] = a1;
- p1[1] = a2;
- }
- K1(const K1& r) : p1(new string[2]) {
- p1[0] = r.p1[0];
- p1[1] = r.p1[1];
- }
- friend ostream& operator<<(ostream& out, const K1& r);
- friend K2;
- ~K1() { delete [] p1; }
- };
- class K2 {
- K1 p1;
- double p2;
- public:
- K2() :p1(), p2(0) {}
- K2(const string& a1, const string& a2, const double& a3) : p1(a1, a2), p2(a3) {}
- K2(const K2& r) : p1(r.p1), p2(r.p2) {}
- /*K2& operator=(const K2& r) {
- if (this != &r) {
- p1 = r.p1;
- p2 = r.p2;
- }
- return *this;
- }*/
- friend ostream& operator<<(ostream& out, const K2& r);
- const K2 operator-(const double& l) {
- return K2(p1.p1[0], p1.p1[1], (p2 - l));
- }
- };
- ostream& operator<<(ostream& out, const K2& r) {
- return out<< r.p1 << r.p2 << endl;
- }
- ostream& operator<<(ostream& out, const K1& r) {
- return out << r.p1[0] << ' ' << r.p1[1];
- }
- int main()
- {
- K2 ob1, ob2;
- const K2* wsk1 = new K2("kawa", " z mlekiem", 4.50);
- const K2 ob3(*wsk1);
- delete wsk1;
- wsk1 = 0;
- const K2* wsk2 = new K2(ob3);
- ob2 = *wsk2;
- cout << ob1 << *wsk2;
- delete wsk2;
- wsk2 = 0;
- cout << ob2;
- cout << ob2-1.25;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement