クラス名・変数名に迷ったら書き込むスレ。Part18
■ このスレッドは過去ログ倉庫に格納されています
0090デフォルトの名無しさん
2010/07/05(月) 22:08:25#include <iostream>
class Foo {
friend class CopyManipulation;
public:
class CopyManipulation {
public:
CopyManipulation::CopyManipulation(Foo *src) : src(src) {}
void CopyManipulation::to(Foo *dst) {dst->value = src->value;}
private:
Foo *src;
};
Foo::Foo(int value) : value(value) {}
static CopyManipulation Foo::copy(Foo *src) {return CopyManipulation(src);}
void Foo::print(std::ostream &out) {out << this << ':' << value << std::endl;}
private:
int value;
};
int main() {
Foo *src = new Foo(89), *dst = new Foo(97);
src->print(std::cout);
dst->print(std::cout);
Foo::copy(src).to(dst);
src->print(std::cout);
dst->print(std::cout);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています