首页 > 编程语言 > 详细

C语言实现C++的类

时间:2018-01-04 10:32:31      阅读:284      评论:0      收藏:0      [点我收藏+]

  

typedef struct _s_gpio GPIO;
typedef struct _s_gpio{
    uint32_t gpiox;
    uint32_t gpio_pinx;
    void (*init)(GPIO *gpio);
    void (*toggle)(GPIO *gpio);
}GPIO;

static void _s_gpio_init(GPIO *gpio)
{
	 rcu_periph_clock_enable(LED1_GPIO_CLK);
    gpio_init(gpio->gpiox, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,gpio->gpio_pinx);
}

static void _s_gpio_toggle(GPIO *gpio)
{
    GPIO_OCTL(gpio->gpiox) ^= (uint32_t)gpio->gpio_pinx;
}

GPIO new_outport(uint32_t gpiox,uint32_t gpio_pinx)
{
    GPIO temp;
    temp.gpiox = gpiox;
    temp.gpio_pinx = gpio_pinx;
    temp.init = _s_gpio_init;
    temp.toggle = _s_gpio_toggle;
    temp.init(&temp);
    return temp;
}

	 GPIO led;
	 led = new_outport(GPIOF,GPIO_PIN_6);
    while(1)
    {
        delay_1ms(500);
        led.toggle(&led);
    }

  这样实现C++的类,可以简化代码的重复,也可以让代码结构更晰。

C语言实现C++的类

原文:https://www.cnblogs.com/mzwhhwj/p/8191343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!