Просмотр одиночного сообщения
Old 10-02-2006, 01:03   #27
zuber
[Mon]
 
Сообщений: 10,259
Проживание: virtual
Регистрация: 06-02-2004
Status: Offline
Репутация: 42
Усе, финал версион

#include <string>
#include <iostream>

using namespace std;



class Sobak{
private:
string nimi;
string rotu;
string vuosi;
public:
// konstructor
Sobak();
// kostruktor so znachenijami (esli nado)
Sobak(string /*name*/, string /*breed*/, string /*year*/);
// destruktor
~Sobak();

void setName(string name);
string getName(void);
void setBreed(string name);
string getBreed(void);

void setYear(string name);
string getYear(void);

Sobak &operator=( Sobak & );

// debug
void printMe(void);
private:
string cutString(string);
};

Sobak::Sobak(){
// nothing
nimi = "";
rotu = "";
vuosi = "";
}


Sobak::~Sobak(){
// nothing
}

Sobak::Sobak(string name, string breed, string year){
this->setName(name);
this->setBreed(breed);
this->setYear(year);
}

void Sobak::setName(string name){
nimi = cutString(name);
}

string Sobak::getName(void){
return nimi;
}

void Sobak::setBreed(string breed){
rotu = cutString(breed);
}

string Sobak::getBreed(void){
return rotu;
}


void Sobak::setYear(string year){
vuosi = year;
}

string Sobak::getYear(void){
return vuosi;
}


string Sobak::cutString(string daInput){
int counter = 0;
char cur_pos = ' ';

string _tmp = daInput;

while((cur_pos == ' ')&&(counter<_tmp.length())){
cur_pos = _tmp[counter];
if(cur_pos == ' ')
counter++;
}
_tmp.erase(0,counter);

counter = 0;
cur_pos = ' ';
while((cur_pos == ' ')&&(counter>=0)){
cur_pos = _tmp[_tmp.length() - counter - 1];
if(cur_pos == ' ')
counter++;
}

if(counter > 0)
_tmp.erase(_tmp.length() - counter,counter);

return _tmp;
}



void Sobak:rintMe(void){
cout << " sobak:" << nimi << "|" << rotu << "|" << vuosi << "\n";
}

Sobak &Sobak:perator=(Sobak &_sobak){
nimi = _sobak.nimi;
rotu = _sobak.rotu;
vuosi = _sobak.vuosi;

return *this;
}


int main(void){
Sobak *x= new Sobak();
Sobak *y= new Sobak(" doggy ","stupid ","1980");

x->printMe();
y->printMe();
*x = *y;
x->printMe();

delete(y);
delete(x);
return 0;
}

(c) Zuber

-----------------
-=*=-
 
0
 
0
    Ответить с цитированием