Здравствуйте. Мне нужно класс программы расположить в отдельном файле my_stack.h, реализ. методов в my_stack.cpp, а саму программу в main.cpp. Но у меня не совсем получается это сделать. Подскажите плз. Вот програма, которая в одном цппшнике работает (комментариями разделены части, которые нужно расположить в разных файлах)
#include <iostream>
#include <complex>
using namespace std;
class base
{
int stack[100], tos, b;
public:
void push();
int pop();
base::base (int a)
{
base::b=a;
}
base::~base()
{
}
void gettos ()
{
tos=0;
}
};
////////////////////////////////////////////////////////////////
void base::push()
{
stack[tos] = b;
tos++;
}
int base::pop()
{
tos--;
return stack[tos];
};
//////////////////////////////////////////////////////////////
void main()
{
int a=0,i,n;
base ob (a);
ob.gettos();
cout <<"Enter quantity of array cells\n";
cin >>n;
for (i=1;i<=n;i++)
{
cout <<"Enter A["<<i<<"] ";
cin >>a;
ob.base::base (a);
ob.push();
}
for (i=1;i<=n;i++)
{
cout <<"A["<<n+1-i<<"] = "<<ob.pop()<<"\n";
}
system("pause");
#include <complex>
using namespace std;
class base
{
int stack[100], tos, b;
public:
void push();
int pop();
base::base (int a)
{
base::b=a;
}
base::~base()
{
}
void gettos ()
{
tos=0;
}
};
////////////////////////////////////////////////////////////////
void base::push()
{
stack[tos] = b;
tos++;
}
int base::pop()
{
tos--;
return stack[tos];
};
//////////////////////////////////////////////////////////////
void main()
{
int a=0,i,n;
base ob (a);
ob.gettos();
cout <<"Enter quantity of array cells\n";
cin >>n;
for (i=1;i<=n;i++)
{
cout <<"Enter A["<<i<<"] ";
cin >>a;
ob.base::base (a);
ob.push();
}
for (i=1;i<=n;i++)
{
cout <<"A["<<n+1-i<<"] = "<<ob.pop()<<"\n";
}
system("pause");
}
1 апреля 2010 в 12:02
#pragma once поддерживатеся не только в MSVS, но и в gcc, например.
1 апреля 2010 в 10:05
//my_stack.h
#ifndef MY_STACK_H
#define MY_STACK_H
// тут код
#endif
>>>
Пффф… В таком проекте из трёх файлов накуя такие приседания? Он как будто будет два раза откуда то инклудится.
1 апреля 2010 в 3:03
А где тут написано про MSVS?
1 апреля 2010 в 0:04
Если пишешь в VS, то достаточно написать #prgma once ))
31 марта 2010 в 21:03
Еще не забудь в my_stack.h написать нечто подобное:
//my_stack.h
#ifndef MY_STACK_H
#define MY_STACK_H
// тут код
#endif
31 марта 2010 в 19:04
#include "my_stack.h" в main.cpp не забыл?
31 марта 2010 в 19:04
забыл =)
все работает, спс
31 марта 2010 в 19:03
как связать между собой эти файлы? выдает ошибку, что не может найти класс
31 марта 2010 в 18:05
В чём проблема? Создай нужные файлы. Скопируй туда код.