82 lines
2.1 KiB
C++
82 lines
2.1 KiB
C++
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
|
|
#include "iot_io_api.h"
|
|
#include "iot_config_api.h"
|
|
#include "os_utils_api.h"
|
|
|
|
class class_test {
|
|
public:
|
|
int len;
|
|
int size;
|
|
int print(int a, int b);
|
|
int print(int a, int b, int c);
|
|
};
|
|
|
|
int class_test::print(int a, int b)
|
|
{
|
|
iot_printf("[class test] argv(%d,%d): rst: (%d)\n", a, b, a+b);
|
|
}
|
|
|
|
int class_test::print(int a, int b, int c)
|
|
{
|
|
iot_printf("[class test] argv(%d,%d,%d): rst: (%d)\n", a, b, c, a + b + c);
|
|
}
|
|
|
|
class temp_test {
|
|
public:
|
|
template<typename T>
|
|
int add(const T& t) {
|
|
iot_printf("[template test] argv(%d)\n", t);
|
|
return t*2;
|
|
}
|
|
};
|
|
|
|
class_test g_test;
|
|
uint32_t cpp_feature_test()
|
|
{
|
|
temp_test temp;
|
|
int c = 0;
|
|
while(1) {
|
|
iot_printf("\n{test new and malloc feature}\n");
|
|
class_test *test = new class_test();
|
|
test->len = 34;
|
|
test->size = 45;
|
|
test->print(30, 40);
|
|
test->print(30, 40, 50);
|
|
delete[] test;
|
|
|
|
iot_printf("\n{test global variable feature}\n");
|
|
g_test.len = 66;
|
|
g_test.size = 77;
|
|
g_test.print(55, 66);
|
|
g_test.print(55, 66, 77);
|
|
|
|
iot_printf("\n{test template feature}\n");
|
|
c = temp.add(10);
|
|
iot_printf("[template test] rst: %d\n", c);
|
|
|
|
os_delay(10);
|
|
}
|
|
}
|
|
|
|
uint32_t app_demo_entry()
|
|
{
|
|
cpp_feature_test();
|
|
|
|
return 0;
|
|
}
|
|
|