#include <iostream>
#include <algorithm> // std::copy, std::fill
class A {
public:
static const size_t Size=8;
A(double a=0, double b=0, double c=0, double *ar=0):a_(a),b_(b),c_(c) {
if (ar != 0) {
for (size_t i=0; i != Size; ++i)
ar_[i] = ar[i];
}
else {
for (size_t i=0; i != Size; ++i)
ar_[i] = 0;
}
}
void print() const {
std::cout << a_ << ' ' << b_ << ' ' << c_ << std::endl << '{';
for (size_t i=0; i != Size; ++i) {
if (i != 0) std::cout << ',';
std::cout << ar_[i];
}
std::cout << '}' << std::endl;
}
private:
double a_, b_, c_;
double ar_[Size];
};
int main() {
A a1;
a1.print();
A a2 (1,2,3);
a2.print();
double x[A::Size] = { 11,12,13,14 };
A a3 (4,5,6,x);
a3.print();
A a4 = a3;
a4.print();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBzdGQ6OmNvcHksIHN0ZDo6ZmlsbAoKY2xhc3MgQSB7CiAgcHVibGljOgogIHN0YXRpYyBjb25zdCBzaXplX3QgU2l6ZT04OwoKICBBKGRvdWJsZSBhPTAsIGRvdWJsZSBiPTAsIGRvdWJsZSBjPTAsIGRvdWJsZSAqYXI9MCk6YV8oYSksYl8oYiksY18oYykgeyAKICAgICBpZiAoYXIgIT0gMCkgewogICAgICAgZm9yIChzaXplX3QgaT0wOyBpICE9IFNpemU7ICsraSkKICAgICAgICAgYXJfW2ldID0gYXJbaV07CiAgICAgfQogICAgIGVsc2UgewogICAgICAgZm9yIChzaXplX3QgaT0wOyBpICE9IFNpemU7ICsraSkKICAgICAgICAgYXJfW2ldID0gMDsKICAgICB9CiAgfQoKICB2b2lkIHByaW50KCkgY29uc3QgeyAKICAgIHN0ZDo6Y291dCA8PCBhXyA8PCAnICcgPDwgYl8gPDwgJyAnIDw8IGNfIDw8IHN0ZDo6ZW5kbCA8PCAneyc7CiAgICBmb3IgKHNpemVfdCBpPTA7IGkgIT0gU2l6ZTsgKytpKSB7CiAgICAgICBpZiAoaSAhPSAwKSBzdGQ6OmNvdXQgPDwgJywnOwogICAgICAgc3RkOjpjb3V0IDw8IGFyX1tpXTsKICAgIH0KICAgIHN0ZDo6Y291dCA8PCAnfScgPDwgc3RkOjplbmRsOwogIH0KCiAgcHJpdmF0ZToKICAgIGRvdWJsZSBhXywgYl8sIGNfOwogICAgZG91YmxlIGFyX1tTaXplXTsKCn07CgppbnQgbWFpbigpIHsKCUEgYTE7CiAgICBhMS5wcmludCgpOwogICAgQSBhMiAoMSwyLDMpOwogICAgYTIucHJpbnQoKTsKCiAgICBkb3VibGUgeFtBOjpTaXplXSA9IHsgMTEsMTIsMTMsMTQgfTsKICAgIEEgYTMgKDQsNSw2LHgpOwogICAgYTMucHJpbnQoKTsKCiAgICBBIGE0ID0gYTM7CiAgICBhNC5wcmludCgpOyAgICAKfQ==
0 0 0
{0,0,0,0,0,0,0,0}
1 2 3
{0,0,0,0,0,0,0,0}
4 5 6
{11,12,13,14,0,0,0,0}
4 5 6
{11,12,13,14,0,0,0,0}