I know I should include a "get_Diameter()" function in the class, so as to access the private data member, but I haven't been able to figure out where the really small numbers come from.
(Can ignore the Rectangle stuff - its a circle problem)
Here is the driver code:
// classes example
#include <iostream>
using namespace std;
#include "rect2.h"
#include "roughCirc.h"
int main () {
Rectangle rect (3,4);
Rectangle rectb;
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
cout << " " << endl;
Circle circ (1.3);
cout << "circle area: " << circ.area() << endl;
Circle circB;
cout << "circle area: " << circB.area() << endl;
return 0;
}
/*
g++ -o main2 main2.cpp rect2.cpp roughCirc.cpp
*/
Class: roughCirc.h
class Circle {
double diameter;
public:
Circle (double);
Circle ();
double area (void);
};
and roughCirc.cpp
#include <iostream>
using namespace std;
#include "roughCirc.h"
Circle::Circle (double) {
diameter = 1.1212;
}
Circle::Circle () {
diameter = 32.42;
}
double Circle::area(void) {
double tmp = 3.1416 * 0.25 * diameter*diameter;
cout << "diameter is: " << diameter << " and area is: " << tmp << endl;
}
and the output;
X@X:X$ ./main2
rect area: 12
rectb area: 25
circle area: diameter is: 1.1212 and area is: 0.987318
3.03428e-86
circle area: diameter is: 32.42 and area is: 825.5
3.03428e-86
Not sure it matters, but I have latest and greatest packages from Debian stable. Command line is at bottom of driver file.