Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 19:49   #11
wwe2012
Пользователь
 
Аватар для wwe2012
 
Регистрация: 17.01.2011
Сообщений: 51
Вопрос

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Ну, это я и хотел сказать

А насчёт const в копирующем конструкторе - я знаю. Вот только мне кажется, что wwe2012 это сейчас не очень-то важно - ему бы сейчас с тем разобраться.

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
конкретнее можно?
Вот создал конструктор копирования
Код:
CMyStack :: CMyStack(const CMyStack &rhs)
{
    d=new int;
    p=new Node;
    *d=rhs.Getd();
    *p=*(rhs.p);     
         
         
 }
ВОТ самм класс
Код:
#include <iostream>
#include <conio.h>
using namespace std;
class CMyStack
{
friend int GetTopNodeD(CMyStack* myStack);
public:
CMyStack();
CMyStack(const CMyStack &);
~CMyStack();
void Push(int d);
int Pop();
bool isEmpty();
void Print();

CMyStack& operator +(int d);

private:
struct Node
{
int d;
Node *p;
};

Node *top;
};

CMyStack& CMyStack:perator +(int d)
{
Push(d);
return *this;
}

int GetTopNodeD(CMyStack* myStack)
{
if (myStack->top != NULL)
{
return myStack->top->d;
}

return -1;
}

CMyStack::CMyStack():top(NULL)
{

}

void CMyStack::Push(int d)
{
Node *pv = new Node;
pv->d = d;
pv->p = top;
top = pv;
}

CMyStack :: CMyStack(const CMyStack &rhs)
{
    d=new int;
    p=new Node;
    *d=rhs.Getd();
    *p=*(rhs.p);     
         
         
         }

int CMyStack::Pop()
{
if (isEmpty())
{
return -1;
}
int temp = top->d;
Node *pv = top;
top = top->p;
delete pv;
return temp;
}


bool CMyStack::isEmpty()
{
return top ? false : true;
}

void CMyStack::Print()
{
while (top)
{
std::cout << Pop() << ' ';
}

std::cout << std::endl;
}

CMyStack::~CMyStack()
{
while (top)
{
Node *pv = top;
top = top->p;
delete pv;
}

}

int _tmain(int argc, _TCHAR* argv[])
{
CMyStack lolo;

lolo + 2 + 3 + 4;

std::cout << GetTopNodeD(&lolo) << std::endl;

lolo.Print();
getch();
return 0;
}
Я воше незнаю как создать конструктор с параметрами по умолчанию. Помаги пожалуйста!!!
wwe2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование конструкторов и деструкторов, С# ~Mi@mi~ Помощь студентам 1 21.11.2010 18:53
сайт с нуля без конструкторов Hammenguei Фриланс 3 26.09.2010 18:42
Перегрузка конструкторов Snowcat Общие вопросы C/C++ 2 11.06.2010 00:05
Применение конструкторов [Java] [CODER] Помощь студентам 2 28.03.2010 21:29