Annotation of researchv10no/cmd/cfront/libstring/test18.c, revision 1.1

1.1     ! root        1: #include "String.h"
        !             2: 
        !             3: struct Foo {
        !             4:                Foo() {}
        !             5:                Foo(Foo& x) { *this = x; }
        !             6:                ~Foo() {}
        !             7:        Foo&    operator=(Foo& x) { s[0] = x.s[0]; s[1] = x.s[1]; return *this; }
        !             8:        String  s[2];
        !             9: };
        !            10: 
        !            11: Foo
        !            12: zot(Foo x)
        !            13: {
        !            14:        x.s[0] += "zot";
        !            15:        x.s[1] += "zotzot";
        !            16:        return x;
        !            17: }
        !            18: 
        !            19: ostream&
        !            20: operator<<(ostream& o, Foo& x)
        !            21: {
        !            22:        return o << "Foo::s[*]: " << x.s[0] << " " << x.s[1];
        !            23: }
        !            24: 
        !            25: main()
        !            26: {
        !            27:        Foo     x;
        !            28:        x.s[0] = "hello";
        !            29:        x.s[1] = "hello";
        !            30:        cout << zot(x) << "\n";
        !            31: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.