1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include <iostream> #include <cstdarg> using namespace std; class AbstractClass{ public: virtual double average(int num, ... ) = 0; }; class ConcreteClass : public AbstractClass{ public: virtual double average(int num, ... ) { va_list arguments; // A place to store the list of arguments double sum = 0; va_start ( arguments, num ); // Initializing arguments to store all values after num for ( int x = 0; x < num; x++ ) // Loop until all numbers are added sum += va_arg ( arguments, double ); // Adds the next value in argument list to sum. va_end ( arguments ); // Cleans up the list return sum / num; // Returns the average } }; int main() { AbstractClass* interface = new ConcreteClass(); cout << interface->average( 3 , 20 ,30 , 40 ); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGFyZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKY2xhc3MgQWJzdHJhY3RDbGFzc3sKCnB1YmxpYzoKICAKICB2aXJ0dWFsIGRvdWJsZSBhdmVyYWdlKGludCBudW0sIC4uLiApID0gMDsKCgp9OwoKCmNsYXNzIENvbmNyZXRlQ2xhc3MgOiBwdWJsaWMgQWJzdHJhY3RDbGFzc3sKcHVibGljOgoKICAgdmlydHVhbCBkb3VibGUgYXZlcmFnZShpbnQgbnVtLCAuLi4gKSAKICAgewogICAgICB2YV9saXN0IGFyZ3VtZW50czsgICAgICAgICAgICAgICAgICAgICAvLyBBIHBsYWNlIHRvIHN0b3JlIHRoZSBsaXN0IG9mIGFyZ3VtZW50cwogICAgICBkb3VibGUgc3VtID0gMDsKICAgIAogICAgICB2YV9zdGFydCAoIGFyZ3VtZW50cywgbnVtICk7ICAgICAgICAgICAvLyBJbml0aWFsaXppbmcgYXJndW1lbnRzIHRvIHN0b3JlIGFsbCB2YWx1ZXMgYWZ0ZXIgbnVtCiAgICAgIGZvciAoIGludCB4ID0gMDsgeCA8IG51bTsgeCsrICkgICAgICAgIC8vIExvb3AgdW50aWwgYWxsIG51bWJlcnMgYXJlIGFkZGVkCiAgICAgICAgc3VtICs9IHZhX2FyZyAoIGFyZ3VtZW50cywgZG91YmxlICk7IC8vIEFkZHMgdGhlIG5leHQgdmFsdWUgaW4gYXJndW1lbnQgbGlzdCB0byBzdW0uCiAgICAgIHZhX2VuZCAoIGFyZ3VtZW50cyApOyAgICAgICAgICAgICAgICAgIC8vIENsZWFucyB1cCB0aGUgbGlzdAogICAgICAKICAgICAgcmV0dXJuIHN1bSAvIG51bTsgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJucyB0aGUgYXZlcmFnZQogIH0KIAoKCn07CgoKCmludCBtYWluKCkKewogICAgQWJzdHJhY3RDbGFzcyogaW50ZXJmYWNlID0gbmV3IENvbmNyZXRlQ2xhc3MoKTsKICAgIGNvdXQgPDwgaW50ZXJmYWNlLT5hdmVyYWdlKCAzICwgMjAgLDMwICwgNDAgKTsKCiAgICByZXR1cm4gMDsKfQo=
-
upload with new input
-
result: Success time: 0.02s memory: 2856 kB returned value: 0
-
result: Success time: 0.02s memory: 2856 kB returned value: 0
-1.01434e-42


