rildo.goncalves
(usa Ubuntu)
Enviado em 06/05/2008 - 12:38h
Vlw pela ajuda pessoal. Bom, depois de reler um livro eu acho que arrumei algumas coisas... Consegui separar as coisas e fazer o programa rodar. Da uma olhada:
//main.cpp
#include <cstdlib>
#include "classRectangle.h"
using namespace std;
int main(int argc, char *argv[])
{
Rectangle rec(10,5);
cout<<"drawshape()<<\n";
rec.Drawshape();
cout<<"drawshape(40,2): \n";
rec.Drawshape(5,2);
system("PAUSE");
return EXIT_SUCCESS;
}
*************************************************
//classRectangle.cpp
#include "classRectangle.h"
//implementação do construtor
Rectangle::Rectangle(USHORT width, USHORT height){
itsWidth = width;
itsHeight = height;
cout<<"Construtor...\n";
}
void Rectangle::Drawshape() const{
Drawshape(itsWidth, itsHeight);
}
//drawshape sobrecarregada
void Rectangle::Drawshape(USHORT width, USHORT height) const{
for(USHORT i = 0; i<height; i++){
for(USHORT j=0; j<width; j++) cout<<"*";
cout<<"\n";
}
}
**************************************************
//classRectangle.h
#include<iostream.h>
typedef unsigned short int USHORT;
class Rectangle{
public:
Rectangle(USHORT width, USHORT height);
~Rectangle(){};
//Drawshape - Função de classe sobrecarregada
void Drawshape() const;
void Drawshape(USHORT aWidth, USHORT aHeight)const;
private:
USHORT itsWidth;
USHORT itsHeight;
};
**************************************************
Nessa ultima que tava o erro fatal... Eu não tava declarando a classe corretamente. O que deve ir para o classRectangle.cpp é apenas a definição dos métodos da classe e naum a classe inteira. Em classRectangle.h deve ficar a defição da classe com todas as variáveis e tudo mais...
Quanto a deixar os typedef num arquivo em separado... acho que vou começar a usar. Parece um bom jeito de organizar o projeto.
Só tenho mais uma dúvida... O Devcpp me mostra um erro de compilação (ou de linkagem naum sei...) é esse ai.
*************************************************
#warning This file includes at least one deprecated or antiquated header. \
Please consider using one of the 32 headers found in section 17.4.1.2 of the \
C++ standard. Examples include substituting the <X> header for the <X.h> \
header for C++ includes, or <iostream> instead of the deprecated header \
<iostream.h>. To disable this warning use -Wno-deprecated.
1 C:\Dev-Cpp\listagem 13.1\classRectangle.h:1, from classRectangle.cpp from classRectangle.h:1, from classRectangle.cpp
**************************************************
Só que quando eu compilo de novo o erro cai fora. Sei la porque... Se alguem souber agradeço.
T+