• Source
    1. /* The Circle class (All source codes in one file) (CircleAIO.cpp) */
    2. #include <iostream> // using IO functions
    3. #include <string> // using string
    4. using namespace std;
    5.  
    6. class Circle {
    7. private:
    8. double radius; // Data member (Variable)
    9. string color; // Data member (Variable)
    10.  
    11. public:
    12. // Constructor with default values for data members
    13. Circle(double r = 1.0, string c = "red") {
    14. radius = r;
    15. color = c;
    16. }
    17.  
    18. double getRadius() { // Member function (Getter)
    19. return radius;
    20. }
    21.  
    22. string getColor() { // Member function (Getter)
    23. return color;
    24. }
    25.  
    26. double getArea() { // Member function
    27. return radius*radius*3.1416;
    28. }
    29. }; // need to end the class declaration with a semi-colon
    30.  
    31. // Test driver function
    32. int main() {
    33. // Construct a Circle instance
    34. Circle c1(1.2, "blue");
    35. cout << "Radius=" << c1.getRadius() << " Area=" << c1.getArea()
    36. << " Color=" << c1.getColor() << endl;
    37.  
    38. // Construct another Circle instance
    39. Circle c2(3.4); // default color
    40. cout << "Radius=" << c2.getRadius() << " Area=" << c2.getArea()
    41. << " Color=" << c2.getColor() << endl;
    42.  
    43. // Construct a Circle instance using default no-arg constructor
    44. Circle c3; // default radius and color
    45. cout << "Radius=" << c3.getRadius() << " Area=" << c3.getArea()
    46. << " Color=" << c3.getColor() << endl;
    47. return 0;
    48. }