C++改写为C

stm使用中,经常能见到CPP的示例,这些是给arduino,esp32用的,stm32 也支持cpp但是你就想用c怎么办呢,比如我在新手的时候:: 这个双冒号就难住了英雄好汉

比如这是个cpp的 如果类不多的情况下 改写为c

#include <iostream>

using namespace std;

class Box
{
public:
    double length;   // 长度
    double breadth;  // 宽度
    double height;   // 高度
    // 成员函数声明
    double get(void){
        return length * breadth * height;
    };
    void set( double len, double bre, double hei ){
        length = len;
        breadth = bre;
        height = hei;
    };
};
// 成员函数定义
//double Box::get(void)
//{
//    return length * breadth * height;
//}

//void Box::set( double len, double bre, double hei)
//{
//    length = len;
//    breadth = bre;
//    height = hei;
//}
int main( )
{
    Box Box1;        // 声明 Box1,类型为 Box
    Box Box2;        // 声明 Box2,类型为 Box
    Box Box3;        // 声明 Box3,类型为 Box
    double volume = 0.0;     // 用于存储体积

    // box 1 详述
    Box1.height = 5.0;
    Box1.length = 6.0;
    Box1.breadth = 7.0;

    // box 2 详述
    Box2.height = 10.0;
    Box2.length = 12.0;
    Box2.breadth = 13.0;

    // box 1 的体积
    volume = Box1.height * Box1.length * Box1.breadth;
    cout << "Box1 的体积:" << volume <<endl;

    // box 2 的体积
    volume = Box2.height * Box2.length * Box2.breadth;
    cout << "Box2 的体积:" << volume <<endl;


    // box 3 详述
    Box3.set(16.0, 8.0, 12.0);
    volume = Box3.get();
    cout << "Box3 的体积:" << volume <<endl;
    return 0;
}

改写为C:

//#include <iostream>
#include <stdio.h>

//using namespace std;

//class Box
//        {
//                public:
double Box1length;   // 长度
double Box1breadth;  // 宽度
double Box1height;   // 高度
// 成员函数声明
double get(void);
//void set( double len, double bre, double hei );
//        };
// 成员函数定义
double Box1get(void)
{
    return Box1length * Box1breadth * Box1height;
}//暂时没用

void Box1set( double len, double bre, double hei)
{
    Box1length = len;
    Box1breadth = bre;
    Box1height = hei;
}//暂时没用
int main( )
{
//    Box Box1;        // 声明 Box1,类型为 Box
//    Box Box2;        // 声明 Box2,类型为 Box
//    Box Box3;        // 声明 Box3,类型为 Box
    double volume = 0.0;     // 用于存储体积

    // box 1 详述
    Box1height = 5.0;
    Box1length = 6.0;
    Box1breadth = 7.0;

    // box 2 详述
//    Box2.height = 10.0;
//    Box2.length = 12.0;
//    Box2.breadth = 13.0;

    // box 1 的体积
    printf("Box1height:%f",Box1height);
    volume = Box1height * Box1length * Box1breadth;
    printf("%f",volume);
//    cout << "Box1 的体积:" << volume <<endl;

    // box 2 的体积
//    volume = Box2.height * Box2.length * Box2.breadth;
//    cout << "Box2 的体积:" << volume <<endl;
//
//
//    // box 3 详述
//    Box3.set(16.0, 8.0, 12.0);
//    volume = Box3.get();
//    cout << "Box3 的体积:" << volume <<endl;
    return 0;
}

就是把类的东西完全拆成普通的,这样你可能需要多打很多代码,

相关推荐

  1. C++改写C

    2023-12-16 21:22:03       40 阅读
  2. c# 隐含类型var 转换 DataTable

    2023-12-16 21:22:03       37 阅读
  3. C# 从“byte[]”转换“BitmapImage”

    2023-12-16 21:22:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 21:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 21:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 21:22:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 21:22:03       20 阅读

热门阅读

  1. JVM源码剖析之信号处理机制

    2023-12-16 21:22:03       25 阅读
  2. Ubuntu 命令行安装 Clang 16或者Clang 17的过程

    2023-12-16 21:22:03       38 阅读
  3. js-正则表达式

    2023-12-16 21:22:03       25 阅读
  4. 学习软件测试建议看些什么书?

    2023-12-16 21:22:03       32 阅读
  5. Ceph入门到精通-Ceph Pacific 版本磁盘预测模块

    2023-12-16 21:22:03       31 阅读
  6. 【LeetCode】第18题. 四数之和

    2023-12-16 21:22:03       42 阅读
  7. MySQL之修改表

    2023-12-16 21:22:03       36 阅读