递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[视窗] 视窗当中的@外部基础类是否跟核心文件写死的

[复制链接]

152

主题

1287

帖子

5885

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
5885
QQ
跳转到指定楼层
楼主
发表于 前天 15:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式



问题描述:
当使用@外部继承类来继承C++当中的类报错


  1. #pragma once
  2. #include <iostream>
  3. using namespace std;

  4. class Anamal {

  5. public:
  6.         int age;
  7.         void Wack();
  8. };
  9. class Dog :public Anamal {
  10.        
  11. };
复制代码
  1. #include "继承.h"

  2. void Anamal::Wack()
  3. {
  4.         cout << "父类当中的方法" << endl;
  5. }
复制代码


火山封装代码如下:





报错如下:

火山视窗封装视频教程
回复

使用道具 举报

26

主题

1919

帖子

6995

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6995
来自 6#
发表于 前天 16:20 | 只看该作者
沉默流星 发表于 2024-12-3 16:16
就算 using namespace std原生当中不写,在火山当中也会报错的。如果按需要继承对象类(CVolObject)又不 ...

在你的头文件加上 #include <sys/base/libs/win_base/vol_base.h>,就能使用 CVolObject 了。
using namespace std 会造成很多命名冲突,这个在火山坑了很多人了,就不应该习惯性写这一句代码。
回复

使用道具 举报

69

主题

1014

帖子

4540

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4540
沙发
发表于 前天 15:55 | 只看该作者
本帖最后由 hcwanz 于 2024-12-3 16:14 编辑

直接在c++里写好继承类, 然后用@别名 封到火山不就好了.
其实这样还挺好用的.

虽然@别名 类只能定义静态方法.
但火山针对静态方法是有个语法糖的,
字节集对象.取字节集右边(...)



而且别被字节集类和文本类的 @全局类 迷惑.
没有定义全局类, 一样可以使用这个语法糖.
比如上面的`取字节集右边`,
可以在去掉全局类的情况下, 改成`取右`, 而不必担心和其他`取右`冲突.

回复

使用道具 举报

26

主题

1919

帖子

6995

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6995
板凳
发表于 前天 15:57 | 只看该作者
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名类型中的火山类
回复

使用道具 举报

152

主题

1287

帖子

5885

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
5885
QQ
地板
 楼主| 发表于 前天 16:13 | 只看该作者
Xelloss0618 发表于 2024-12-3 15:57
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名 ...

原生当中就算屏蔽using namespace std,也不行啊。如果使用文件写个.h和.cpp来继承CVolObject,又会找不到这个基类。
火山视窗封装视频教程
回复

使用道具 举报

152

主题

1287

帖子

5885

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
5885
QQ
5#
 楼主| 发表于 前天 16:16 | 只看该作者
Xelloss0618 发表于 2024-12-3 15:57
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名 ...

就算 using namespace std原生当中不写,在火山当中也会报错的。如果按需要继承对象类(CVolObject)又不能在火山表格当中的基类当中写,那么好了按新建个头文件和源文件,让这个类继承自(CVolObject)又会找不到这个基类。
火山视窗封装视频教程
回复

使用道具 举报

152

主题

1287

帖子

5885

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
5885
QQ
7#
 楼主| 发表于 前天 16:26 | 只看该作者
Xelloss0618 发表于 2024-12-3 16:20
在你的头文件加上 #include ,就能使用 CVolObject 了。
using namespace std 会造成很多命名冲突,这个 ...

好的
火山视窗封装视频教程
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-5 10:32 , Processed in 0.096394 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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