MST
星途 面试题库

面试题:C++函数重载命名规范与复杂场景结合

在一个图形绘制类中,需要实现不同形状(圆形、矩形、三角形)的绘制函数,且这些函数需满足C++函数重载命名规范。请设计类结构并编写相应的函数重载代码,要求在函数命名中体现形状信息,同时考虑函数参数如何设计更符合规范。
39.0万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>
#include <cmath>

class ShapeDrawer {
public:
    // 绘制圆形
    void drawCircle(double radius) {
        std::cout << "Drawing a circle with radius: " << radius << std::endl;
    }

    // 绘制矩形
    void drawRectangle(double width, double height) {
        std::cout << "Drawing a rectangle with width: " << width << " and height: " << height << std::endl;
    }

    // 绘制三角形
    void drawTriangle(double base, double height) {
        std::cout << "Drawing a triangle with base: " << base << " and height: " << height << std::endl;
    }
};

你可以这样使用这个类:

int main() {
    ShapeDrawer drawer;
    drawer.drawCircle(5.0);
    drawer.drawRectangle(4.0, 3.0);
    drawer.drawTriangle(4.0, 3.0);
    return 0;
}

代码说明

  1. 类定义:定义了ShapeDrawer类,用于包含不同形状的绘制函数。
  2. 函数重载
    • drawCircle函数用于绘制圆形,接受一个表示半径的double类型参数。
    • drawRectangle函数用于绘制矩形,接受两个double类型参数,分别表示宽度和高度。
    • drawTriangle函数用于绘制三角形,接受两个double类型参数,分别表示底边和高度。
  3. main函数:创建了ShapeDrawer对象,并调用不同的绘制函数来展示函数重载的使用。