Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая по ООП / classes / commodity
.cpp#include "commodity.h"
#include "string.h"
#include "stdlib.h"
#include "stdio.h"
char commodity_temp_string[100]={0};
Commodity::Commodity(){
this->code=NULL;
this->price=NULL;
this->supplier=NULL;
this->title=NULL;
this->count=NULL;
}
Commodity::Commodity(char *t_ , char *c_, char *s_, char *p_, char *z_){
if(title=t_)
title=strdup(t_);
if(code=c_)
code=strdup(c_);
if(supplier=s_)
supplier=strdup(s_);
if(price=p_)
price=strdup(p_);
if(count=z_)
count=strdup(z_);
}
char *Commodity::getCode(void) const {
return code;
}
char *Commodity::getPrice(void) const {
return price;
}
char *Commodity::getSupplier(void) const {
return supplier;
}
char *Commodity::getTitle(void) const {
return title;
}
char *Commodity::getCount(void) const {
return count;
}
void Commodity::setTitle(char *T) {
if(title)
free(title);
if(title=T)
title=strdup(T);
}
void Commodity::setCode(char *C) {
if(code)
free(code);
if(code=C)
code=strdup(C);
}
void Commodity::setSupplier(char *S) {
if(supplier)
free(supplier);
if(supplier=S)
supplier=strdup(S);
}
void Commodity::setPrice(char *P) {
if(price)
free(price);
if(price=P)
price=strdup(P);
}
void Commodity::setCount(char *Z) {
if(count)
free(count);
if(count=Z){
count=strdup(Z);
}
}
Commodity::~Commodity() {
if(code)
free(code);
if(count)
free(count);
if(price)
free(price);
if(supplier)
free(supplier);
if(title)
free(title);
}
char *Commodity::operator ++(void) {
unsigned icount;
if(count){
icount=atoi(count);
free(count);
} else {
icount=0;
}
icount++;
sprintf(commodity_temp_string,"%d",icount);
count=strdup(commodity_temp_string);
return count;
}
char *Commodity::operator --(void) {
unsigned icount;
if(count){
icount=atoi(count);
free(count);
} else {
icount=0;
}
if(icount){
icount--;
sprintf(commodity_temp_string,"%d",icount);
count=strdup(commodity_temp_string);
} else {
count=NULL;
}
return count;
}
char *Commodity::operator +=(unsigned int val) {
unsigned icount;
if(count){
icount=atoi(count);
free(count);
} else {
icount=0;
}
icount+=val;
sprintf(commodity_temp_string,"%d",icount);
count=strdup(commodity_temp_string);
return count;
}
char *Commodity::operator -=(unsigned val) {
unsigned icount;
if(count){
icount=atoi(count);
free(count);
} else {
icount=0;
}
if(icount-val){
icount-=val;
sprintf(commodity_temp_string,"%d",icount);
count=strdup(commodity_temp_string);
} else {
count=NULL;
}
return count;
}
Соседние файлы в папке classes