Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- class CMieszacz {
- protected:
- const int m_nMix;
- static int pam;
- char* m_pNapis;
- public:
- CMieszacz(int m, char* napis);
- ~CMieszacz();
- CMieszacz(const CMieszacz & wzor);
- CMieszacz & operator=(const CMieszacz & wz);
- friend std::ostream & operator<<(std::ostream &wyjscie, const CMieszacz & wzor);
- };
- int main(){
- CMieszacz japko(100, "somsiad"), banan(20, "passat");
- CMieszacz gruszka(japko);
- std::cout << japko << banan << gruszka;
- gruszka = japko = banan;
- std::cout << japko << banan << gruszka;
- int i;
- std::cin >> i;
- }
- CMieszacz::CMieszacz(int m, char* napis):m_nMix(pam) {
- pam = m;
- int dl = strlen(napis);
- m_pNapis = new char[dl + 1];
- strcpy(m_pNapis, napis);
- }
- CMieszacz::~CMieszacz(){
- delete[] m_pNapis;
- m_pNapis = nullptr;
- }
- CMieszacz::CMieszacz(const CMieszacz & wzor):m_nMix(-wzor.m_nMix) {
- m_pNapis = new char[strlen(wzor.m_pNapis) + 1];
- strcpy(m_pNapis, wzor.m_pNapis);
- pam = wzor.pam;
- }
- CMieszacz & CMieszacz::operator=(const CMieszacz & wz) {
- if (this != &wz) {
- this->~CMieszacz();
- m_pNapis = new char[strlen(wz.m_pNapis) + 1];
- strcpy(m_pNapis, wz.m_pNapis);
- pam = wz.pam;
- }
- return *this;
- }
- int CMieszacz::pam = 0;
- std::ostream & operator<<(std::ostream & wyjscie, const CMieszacz & wzor) {
- return wyjscie << "m_nMix=" << wzor.m_nMix << "\n" << "pam=" << wzor.pam << "\n" << "m_pNapis=" << wzor.m_pNapis << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement