Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 11 / lab1_3 / TextInTriangle
.cpp#include "stdafx.h"
#include "TextInTriangle.h"
#include "Text.h"
#include "Triangle.h"
TextInTriangle::TextInTriangle(): id(++total){
count++;
cout << "create TextInTriangle#" << id << endl;
}
TextInTriangle::TextInTriangle(Triangle* triangle, string text): Text(text), Triangle(triangle), id(++total){
count++;
cout << "create TextInTriangle#" << id << endl;
}
TextInTriangle::TextInTriangle(Point* p1, Point* p2, Point* p3, string text): Text(text), Triangle(p1, p2, p3), id(++total){
count++;
cout << "create TextInTriangle#" << id << endl;
}
TextInTriangle::TextInTriangle(const TextInTriangle* o): Text(o), Triangle(o), id(++total){
count++;
cout << "create TextInTriangle#" << id << " via cc" << endl;
}
TextInTriangle::TextInTriangle(const TextInTriangle& o): Text(o), Triangle(o), id(++total){
count++;
cout << "create TextInTriangle#" << id << " via cc" << endl;
}
TextInTriangle::~TextInTriangle(){
count--;
cout << "destroy TextInTriangle#" << id << endl;
}
ostream& TextInTriangle::print(ostream& os) const{
os << "TextInTriangle#" << id << ": " << endl
<< toString();
return os;
}
TextInTriangle& TextInTriangle::operator= (const TextInTriangle& o){
if(this == &o)
return *this;
Text::operator=(o);
Triangle::operator=(o);
return *this;
}
void TextInTriangle::moveBy(const double x, const double y){
Triangle::moveBy(x,y);
Text::moveBy(x,y);
cout << "TextInTriangle was moved by (" << x << ";" << y << ")" << endl;
}
string TextInTriangle::toString() const {
return Triangle::toString() + " Text: " + Text::toString();
}
int TextInTriangle::operator==(const TextInTriangle& o) const {
return (Text::operator==(o) && Triangle::operator==(o));
};
// initialize static fields
unsigned long int TextInTriangle::count = 0;
unsigned long int TextInTriangle::total = 0;
Соседние файлы в папке lab1_3