递归火山软件开发平台

标题: 视窗当中的@外部基础类是否跟核心文件写死的 [打印本页]

作者: 沉默流星    时间: 前天 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. }
复制代码


火山封装代码如下:
(, 下载次数: 0)

(, 下载次数: 0)


报错如下:
(, 下载次数: 0)

作者: hcwanz    时间: 前天 15:55
本帖最后由 hcwanz 于 2024-12-3 16:14 编辑

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

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


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


作者: Xelloss0618    时间: 前天 15:57
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名类型中的火山类
作者: 沉默流星    时间: 前天 16:13
Xelloss0618 发表于 2024-12-3 15:57
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名 ...

原生当中就算屏蔽using namespace std,也不行啊。如果使用文件写个.h和.cpp来继承CVolObject,又会找不到这个基类。
作者: 沉默流星    时间: 前天 16:16
Xelloss0618 发表于 2024-12-3 15:57
又一个 using namespace std 的坑人……
这个外部基础类应该是需要继承对象类(CVolObject)的,也就是别名 ...

就算 using namespace std原生当中不写,在火山当中也会报错的。如果按需要继承对象类(CVolObject)又不能在火山表格当中的基类当中写,那么好了按新建个头文件和源文件,让这个类继承自(CVolObject)又会找不到这个基类。
作者: Xelloss0618    时间: 前天 16:20
沉默流星 发表于 2024-12-3 16:16
就算 using namespace std原生当中不写,在火山当中也会报错的。如果按需要继承对象类(CVolObject)又不 ...

在你的头文件加上 #include <sys/base/libs/win_base/vol_base.h>,就能使用 CVolObject 了。
using namespace std 会造成很多命名冲突,这个在火山坑了很多人了,就不应该习惯性写这一句代码。
作者: 沉默流星    时间: 前天 16:26
Xelloss0618 发表于 2024-12-3 16:20
在你的头文件加上 #include ,就能使用 CVolObject 了。
using namespace std 会造成很多命名冲突,这个 ...

好的




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4