Пенсионеры! Я застрял в этой теме и не могу найти способ написать следующие конструкторы (и методы) для обоих классов K1 и K2 :
- конструктор по умолчанию
- конструктор копирования и метод перезаписи.
- правильный оператор перегрузки << для K2 </li>
class K1 {
string* p1; // p1 in future should be dynamic array
public:
K1() : p1(new string) {}; // my version of def. constructor
~K1() { delete p1; }; // destructor
K1(const K1& k) : p1(new string(*k.p1)) {}; // my version of copying constructor
K1& operator= (const K1& copy) { // rewriting method in my vision
*p1 = *copy.p1;
return *this;
}
};
class K2 {
K1 p1;
double p2;
public:
K2(const string & one, const string & two, const double & price) // mostly stucked here: how can i reforward data from here to K1`s pointer (which is an array)
};
int main() {
K2 ob1, ob2; // testing code
const K2* wsk1 = new K2("kawa", "z mlekiem", 4.50);
const K2 ob3(*wsk1);
delete wsk1;
K2* wsk2 = new K2(ob3);
ob2 = *wsk2;
cout << ob3;
return 0;
}
Заранее спасибо заВаша помощь, ребята!