面试题答案
一键面试#include <iostream>
class Circle;
class Rectangle;
class GraphicsAnalyzer {
public:
double calculateTotalArea(Circle& circle, Rectangle& rectangle);
};
class Circle {
friend class GraphicsAnalyzer;
private:
double radius;
public:
Circle(double r) : radius(r) {}
};
class Rectangle {
friend class GraphicsAnalyzer;
private:
double length;
double width;
public:
Rectangle(double l, double w) : length(l), width(w) {}
};
double GraphicsAnalyzer::calculateTotalArea(Circle& circle, Rectangle& rectangle) {
return 3.14159 * circle.radius * circle.radius + rectangle.length * rectangle.width;
}
你可以使用以下方式测试这个代码:
int main() {
Circle circle(5.0);
Rectangle rectangle(4.0, 6.0);
GraphicsAnalyzer analyzer;
std::cout << "Total Area: " << analyzer.calculateTotalArea(circle, rectangle) << std::endl;
return 0;
}