火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3127|回复: 30
打印 上一主题 下一主题

[官方] 有关c++结构的封装示例:

[复制链接]

53

主题

1344

帖子

7501

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7501
跳转到指定楼层
楼主
发表于 2023-7-18 17:24:06 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
下面的程序演示了如何定义封装C++结构,以及如何封装内嵌结构,及内嵌结构数组:

<火山程序 类型 = "通常" 版本 = 1 />

类 PROCESSENTRY32 <公开 @视窗.结构类 = 0>
{
    变量 dwSize <公开 类型 = 整数>
    变量 cntUsage <公开 类型 = 整数>
    变量 th32ProcessID <公开 类型 = 整数>
    变量 th32DefaultHeapID <公开 类型 = 变整数>
    变量 th32ModuleID <公开 类型 = 整数>
    变量 cntThreads <公开 类型 = 整数>
    变量 th32ParentProcessID <公开 类型 = 整数>
    变量 pcPriClassBase <公开 类型 = 整数>
    变量 dwFlags <公开 类型 = 整数>
    变量 szExeFile <公开 类型 = "短整数 [260]" 注释 = "如果是A版本API使用,此处需要将\"短整数\"改成\"字节\".">
    变量 ""
    变量 成员2 <公开 类型 = 结构2 注释 = "内嵌结构">
    变量 成员3 <公开 类型 = "结构2 [100]" 注释 = "内嵌结构数组">
}

类 结构2 <公开 @视窗.结构类 = 0>
{
    变量 dwSize <公开 类型 = 整数>
    变量 cntUsage <公开 类型 = 整数>
    变量 成员2 <公开 类型 = 结构3>
}

类 结构3 <公开 @视窗.结构类 = 0>
{
    变量 dwSize <公开 类型 = 整数>
    变量 cntUsage <公开 类型 = 整数>
}

回复

使用道具 举报

53

主题

1344

帖子

7501

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7501
31#
 楼主| 发表于 2023-7-25 18:02:50 | 只看该作者
server 发表于 2023-7-25 16:27
变量 szExeFile

给个属性,自动跟随编译位数而变化呢??

现在都是用 W 版,A版本很少用了
回复

使用道具 举报

111

主题

608

帖子

2144

积分

金牌会员

Rank: 6Rank: 6

积分
2144
QQ
30#
发表于 2023-7-25 16:27:20 | 只看该作者
变量 szExeFile <公开 类型 = "短整数 [260]" 注释 = "如果是A版本API使用,此处需要将\"短整数\"改成\"字节\".">

给个属性,自动跟随编译位数而变化呢??
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

53

主题

1344

帖子

7501

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7501
29#
 楼主| 发表于 2023-7-25 13:36:13 | 只看该作者
暴风 发表于 2023-7-25 13:10
看到更新了结构类, 现在是否支持

用第一种方式: 结构基础类
回复

使用道具 举报

21

主题

102

帖子

1534

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1534
28#
发表于 2023-7-25 13:10:46 | 只看该作者
看到更新了结构类, 现在是否支持
  1. struct PathSegmentData
  2. {
  3.     bool IsBezier;
  4.     std::vector<D2D1_POINT_2F> Points;          // for IsBezier == false
  5.     std::vector<D2D1_BEZIER_SEGMENT> Beziers;   // for IsBezier == true
  6. };

  7. struct PathFigureData
  8. {
  9.     D2D1_POINT_2F StartPoint;
  10.     D2D1_FIGURE_BEGIN FigureBegin;
  11.     D2D1_FIGURE_END FigureEnd;
  12.     std::vector<PathSegmentData> Segments;
  13. };
复制代码


回复

使用道具 举报

0

主题

4

帖子

40

积分

新手上路

Rank: 1

积分
40
QQ
27#
发表于 2023-7-23 08:31:19 | 只看该作者
支持!!
回复

使用道具 举报

53

主题

1344

帖子

7501

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7501
26#
 楼主| 发表于 2023-7-22 17:00:49 | 只看该作者
fengyishen 发表于 2023-7-22 16:02
重点是想问嵌套的自定义结构构,嵌套的结构指针,这两个的写法

嵌套的自定义结构: 你定义一个对应的结构类,直接使用该结构类作为数据类型就行了,譬如"矩形类".
嵌套的自定义结构指针: 所有指针都是变整数
回复

使用道具 举报

9

主题

264

帖子

2347

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2347
25#
发表于 2023-7-22 16:02:09 | 只看该作者
飞扬工作室 发表于 2023-7-22 09:44
句柄和指针全用变整数,RECT用矩形类,DWORD和UINT用整数.

重点是想问嵌套的自定义结构构,嵌套的结构指针,这两个的写法
回复

使用道具 举报

37

主题

180

帖子

2852

积分

金牌会员

Rank: 6Rank: 6

积分
2852
24#
发表于 2023-7-22 10:32:12 | 只看该作者
我以为是直接写c代码的结构休代码!!!
回复

使用道具 举报

53

主题

1344

帖子

7501

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7501
23#
 楼主| 发表于 2023-7-22 09:45:21 | 只看该作者
暴风 发表于 2023-7-22 08:35
这个结构能搞吗

这个里面包含动态数组类对象,只能嵌入解决.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-19 04:44 , Processed in 0.109139 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表