fork(1) download
  1. #include <iostream>
  2. #include <algorithm> // std::copy, std::fill
  3.  
  4. class A {
  5. public:
  6. static const size_t Size=8;
  7.  
  8. A(double a=0, double b=0, double c=0, double *ar=0):a_(a),b_(b),c_(c) {
  9. if (ar != 0) {
  10. for (size_t i=0; i != Size; ++i)
  11. ar_[i] = ar[i];
  12. }
  13. else {
  14. for (size_t i=0; i != Size; ++i)
  15. ar_[i] = 0;
  16. }
  17. }
  18.  
  19. void print() const {
  20. std::cout << a_ << ' ' << b_ << ' ' << c_ << std::endl << '{';
  21. for (size_t i=0; i != Size; ++i) {
  22. if (i != 0) std::cout << ',';
  23. std::cout << ar_[i];
  24. }
  25. std::cout << '}' << std::endl;
  26. }
  27.  
  28. private:
  29. double a_, b_, c_;
  30. double ar_[Size];
  31.  
  32. };
  33.  
  34. int main() {
  35. A a1;
  36. a1.print();
  37. A a2 (1,2,3);
  38. a2.print();
  39.  
  40. double x[A::Size] = { 11,12,13,14 };
  41. A a3 (4,5,6,x);
  42. a3.print();
  43.  
  44. A a4 = a3;
  45. a4.print();
  46. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
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}