Doxygen example
Replace the unnecessarily large number of doxygen examples with one doxygen example.
This commit is contained in:
parent
ec2cb809cd
commit
12e7926ee2
84 changed files with 259 additions and 3574 deletions
107
Examples/java/doxygen/example.h
Normal file
107
Examples/java/doxygen/example.h
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/*! \file example.h
|
||||
This file provides a simple set of Shape classes. */
|
||||
|
||||
/*! Base class for all shapes.
|
||||
\author Bob
|
||||
*/
|
||||
class Shape {
|
||||
public:
|
||||
/*! Default constructor for creating a Shape */
|
||||
Shape() {
|
||||
nshapes++;
|
||||
}
|
||||
/*! Destructor for destroying a Shape */
|
||||
virtual ~Shape() {
|
||||
nshapes--;
|
||||
}
|
||||
double x; /*!< x co-ordinate */
|
||||
double y; /*!< y co-ordinate */
|
||||
void move(double dx, double dy); /*!< Move a shape to a new co-ordinate
|
||||
\param dx x co-ordinate
|
||||
\param dy y co-ordinate */
|
||||
virtual double area() = 0; /*!< \return the area */
|
||||
virtual double perimeter() = 0; /*!< \return the perimeter */
|
||||
static int nshapes; /*!< Number of shapes currently in existence */
|
||||
};
|
||||
|
||||
/*! A class for representing a circle.
|
||||
\author Jack
|
||||
*/
|
||||
class Circle : public Shape {
|
||||
private:
|
||||
double radius;
|
||||
public:
|
||||
/*! Construct a circle
|
||||
* \param r radius of the circle */
|
||||
Circle(double r);
|
||||
/*! Calculate the area of the circle
|
||||
* \return calculated area */
|
||||
virtual double area();
|
||||
/*! Calculate the perimeter of the circle
|
||||
* \return calculated perimeter of the circle */
|
||||
virtual double perimeter();
|
||||
};
|
||||
|
||||
/// A class for representing a square.
|
||||
class Square : public Shape {
|
||||
private:
|
||||
double width;
|
||||
public:
|
||||
/** Construct a square
|
||||
* \param w width of the square */
|
||||
Square(double w);
|
||||
/** Calculate the area of the square
|
||||
* \return calculated area */
|
||||
virtual double area();
|
||||
/** Calculate the perimeter of the square
|
||||
* \return calculated perimeter of the square */
|
||||
virtual double perimeter();
|
||||
};
|
||||
|
||||
/// A class for representing a rectangle, templated on the type for the rectangle dimensions
|
||||
template<typename T>
|
||||
class Rectangle : public Shape {
|
||||
private:
|
||||
T height;
|
||||
T width;
|
||||
public:
|
||||
/** Construct a rectangle
|
||||
* \param h height of the rectangle
|
||||
* \param w width of the rectangle */
|
||||
Rectangle(T h, T w) : height(h), width(w) {}
|
||||
/** Calculate the area of the rectangle
|
||||
* \return calculated area */
|
||||
virtual double area() { return width*height; }
|
||||
/** Calculate the perimeter of the rectangle
|
||||
* \return calculated perimeter of the rectangle */
|
||||
virtual double perimeter() { return 2*height + 2*width; }
|
||||
};
|
||||
|
||||
|
||||
/*! Factory function for creating a square
|
||||
* \param r width of the square
|
||||
* \return a fully constructed square */
|
||||
Square MakeSquare(double r);
|
||||
|
||||
/*! Factory function for creating a circle
|
||||
* \param w radius of the circle
|
||||
* \return a fully constructed circle */
|
||||
Circle MakeCircle(double w);
|
||||
|
||||
/*! Factory function for creating a rectangle
|
||||
* \param h height of the rectangle
|
||||
* \param w width of the rectangle
|
||||
* \return a fully constructed rectangle */
|
||||
template<typename T>
|
||||
Rectangle<T> MakeRectangle(T h, T w) {
|
||||
return Rectangle<T>(h, w);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! Total number of circles ever created */
|
||||
extern int NumCircles;
|
||||
|
||||
/// Total number of squares ever created
|
||||
extern int NumSquares;
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue