信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 3339|回复: 10
打印 上一主题 下一主题

[『C++图文教程』] 出错了测试就用C++ 重载操作符无限检查各种错误逻辑问题

[复制链接]

1868

主题

1878

帖子

1万

积分

积分
10928
跳转到指定楼层
宣传软件楼主
发表于 2017-6-23 23:17:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:C++ 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件初级教程 

软件教程发布日期:2017-06-23

软件教程关键字:出错了测试就用C++ 重载操作符无限检查各种错误逻辑问题

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如:
class complex
{
public:
  complex(double r=0.0,double I=0.0){real=r;imag=I;}
  void display();
private:
  double real;
  double imag;
};
complex a(10,20),b(5,8);
“a+b”运算如何实现?这时候我们需要自己编写程序来说明“+”在作用于complex类对象时,该实现什么样的功能,这就是运算符重载。运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同类型的行为。
运算符重载的实质是函数重载。在实现过程中,首先把指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实参,然后根据实参的类型来确定需要调用达标函数,这个过程爱编译过程中完成。

一、 运算符重载的规则
运算符重载规则如下:
①、 C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已有的运算符。
②、 重载之后运算符的优先级和结合性都不会改变。
③、 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。一般来说,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。
不能重载的运算符只有五个,它们是:成员运算符“.”、指针运算符“*”、作用域运算符“::”、“sizeof”、条件运算符“?:”。
运算符重载形式有两种,重载为类的成员函数和重载为类的友元函数。
运算符重载为类的成员函数的一般语法形式为:
函数类型 operator 运算符(形参表)
{
  函数体;
}
运算符重载为类的友元函数的一般语法形式为:
friend 函数类型 operator 运算符(形参表)
{
  函数体;
}
其中,函数类型就是运算结果类型;operator是定义运算符重载函数的关键字;运算符是重载的运算符名称。
当运算符重载为类的成员函数时,函数的参数个数比原来的操作个数要少一个;当重载为类的友元函数时,参数个数与原操作数个数相同。原因是重载为类的成员函数时,如果某个对象使用重载了的成员函数,自身的数据可以直接访问,就不需要再放在参数表中进行传递,少了的操作数就是该对象本身。而重载为友元函数时,友元函数对某个对象的数据进行操作,就必须通过该对象的名称来进行,因此使用到的参数都要进行传递,操作数的个数就不会有变化。
运算符重载的主要优点就是允许改变使用于系统内部的运算符的操作方式,以适应用户自定义类型的类似运算。

二、 运算符重载为成员函数
对于双目运算符B,如果要重载B为类的成员函数,使之能够实现表达式oprd1 B oprd2,其中oprd1为类A的对象,则应当把B重载为A类的成员函数,该函数只有一个形参,形参的类型是oprd2所属的类型。经过重载后,表达式oprd1 B oprd2 就相当于函数调用oprd1.operator B(oprd2).
对于前置单目运算符U,如“-”(负号)等,如果要重载U为类的成员函数,用来实现表达式U oprd,其中oprd为A类的对象,则U应当重载为A类的成员函数,函数没有形参。经过重载之后,表达式U oprd相当于函数调用oprd.operator U().
对于后置运算符“++”和“- -”,如果要将它们重载为类的成员函数,用来实现表达式oprd++或oprd--,其中oprd为A类的对象,那么运算符就应当重载为A类的成员函数,这时函数要带有一个整型形参。重载之后,表达式oprd++和oprd—就想当于函数调用oprd.operator++(0)和oprd.operator—(0);
运算符重载就是赋予已有的运算符多重含义。通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C++语言的扩充能力。

1. 运算符重载的作用:

运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。重载的运算符是函数调用的语法修饰:

class Fred

{

public:

// ...

};

#if 0

// 没有算符重载:

Fred add(Fred, Fred);

Fred mul(Fred, Fred);

Fred f(Fred a, Fred b, Fred c)

{

return add(add(mul(a,b), mul(b,c)), mul(c,a)); // 哈哈,多可笑...

}

#else

// 有算符重载:

Fred operator+ (Fred, Fred);

Fred operator* (Fred, Fred);

Fred f(Fred a, Fred b, Fred c)

{

return a*b + b*c + c*a;

}

#endif

2. 可以用作重载的运算符:

算术运算符:+,-,*,/,%,++,--;

位操作运算符:&,|,~,^,<<,>>

逻辑运算符:!,&&,||;

比较运算符:<,>,>=,<=,==,!=;

赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;

其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。

下列运算符不允许重载:

.,.*,::,?:

3. 运算符重载后,优先级和结合性:

用户重载新定义运算符,不改变原运算符的优先级和结合性。这就是说,对运算符重载不改变运算符的优先级和结合性,并且运算符重载后,也不改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目运算符只能重载双目运算符。

4. 编译程序如何选用哪一个运算符函数:

运算符重载实际是一个函数,所以运算符的重载实际上是函数的重载。编译程序对运算符重载的选择,遵循着函数重载的选择原则。当遇到不很明显的运算时,编译程序将去寻找参数相匹配的运算符函数。

5. 重载运算符有哪些限制:

(1) 不可臆造新的运算符。必须把重载运算符限制在C++语言中已有的运算符范围内的允许重载的运算符之中。

(2) 重载运算符坚持4个“不能改变”。

·不能改变运算符操作数的个数;

·不能改变运算符原有的优先级;

·不能改变运算符原有的结合性;

·不能改变运算符原有的语法结构。

6. 运算符重载时必须遵循哪些原则:

运算符重载可以使程序更加简洁,使表达式更加直观,增加可读性。但是,运算符重载使用不宜过多,否则会带来一定的麻烦。

(1) 重载运算符含义必须清楚。

(2) 重载运算符不能有二义性。

运算符重载函数的两种形式

运算符重载的函数一般地采用如下两种形式:成员函数形式和友元函数形式。这两种形式都可访问类中的私有成员。

1. 重载为类的成员函数

这里先举一个关于给复数运算重载复数的四则运算符的例子。复数由实部和虚部构造,可以定义一个复数类,然后再在类中重载复数四则运算的运算符。先看以下源代码:

#include <iostream.h>

class complex

{

public:

complex() { real=imag=0; }

complex(double r, double i)

{

real = r, imag = i;

}

complex operator +(const complex &c);

complex operator -(const complex &c);

complex operator *(const complex &c);

complex operator /(const complex &c);

friend void print(const complex &c);

private:

double real, imag;

};

inline complex complex:perator +(const complex &c)

{

return complex(real + c.real, imag + c.imag);

}

inline complex complex:perator -(const complex &c)

{

return complex(real - c.real, imag - c.imag);

}

inline complex complex:perator *(const complex &c)

{

return complex(real * c.real - imag * c.imag, real * c.imag + imag * c.real);

}

inline complex complex:perator /(const complex &c)

{

return complex((real * c.real + imag + c.imag) / (c.real * c.real + c.imag * c.imag),

(imag * c.real - real * c.imag) / (c.real * c.real + c.imag * c.imag));

}

void print(const complex &c)

{

if(c.imag<0)

cout<<c.real<<c.imag<<'i';

else

cout<<c.real<<'+'<<c.imag<<'i';

}

void main()

{

complex c1(2.0, 3.0), c2(4.0, -2.0), c3;

c3 = c1 + c2;

cout<<"/nc1+c2=";

print(c3);

c3 = c1 - c2;

cout<<"/nc1-c2=";

print(c3);

c3 = c1 * c2;

cout<<"/nc1*c2=";

print(c3);

c3 = c1 / c2;

cout<<"/nc1/c2=";

print(c3);

c3 = (c1+c2) * (c1-c2) * c2/c1;

cout<<"/n(c1+c2)*(c1-c2)*c2/c1=";

print(c3);

cout<<endl;

}

该程序的运行结果为:

c1+c2=6+1i

c1-c2=-2+5i

c1*c2=14+8i

c1/c2=0.45+0.8i

(c1+c2)*(c1-c2)*c2/c1=9.61538+25.2308i

在程序中,类complex定义了4个成员函数作为运算符重载函数。将运算符重载函数说明为类的成员函数格式如下:

<类名> operator <运算符>(<参数表>)

其中,operator是定义运算符重载函数的关键字。

程序中出现的表达式:

    c1+c2

编译程序将给解释为:

  c1.operator+(c2)

其中,c1和c2是complex类的对象。operator+()是运算+的重载函数。

该运算符重载函数仅有一个参数c2。可见,当重载为成员函数时,双目运算符仅有一个参数。对单目运算符,重载为成员函数时,不能再显式说明参数。重载为成员函数时,总时隐含了一个参数,该参数是this指针。this指针是指向调用该成员函数对象的指针。

2. 重载为友元函数:

运算符重载函数还可以为友元函数。当重载友元函数时,将没有隐含的参数this指针。这样,对双目运算符,友元函数有2个参数,对单目运算符,友元函数有一个参数。但是,有些运行符不能重载为友元函数,它们是:=,(),[]和->。

重载为友元函数的运算符重载函数的定义格式如下:

  friend <类型说明符> operator <运算符>(<参数表>)

  {……}

下面用友元函数代码成员函数,重载编写上述的例子,程序如下:

#include <iostream.h>

class complex

{

public:

complex() { real=imag=0; }

complex(double r, double i)

{

real = r, imag = i;

}

friend complex operator +(const complex &c1, const complex &c2);

friend complex operator -(const complex &c1, const complex &c2);

friend complex operator *(const complex &c1, const complex &c2);

friend complex operator /(const complex &c1, const complex &c2);

friend

void print(const complex &c);

private:

double real, imag;

};

complex operator +(const complex &c1, const complex &c2)

{

return complex(c1.real + c2.real, c1.imag + c2.imag);

}

complex operator -(const complex &c1, const complex &c2)

{

return complex(c1.real - c2.real, c1.imag - c2.imag);

}

complex operator *(const complex &c1, const complex &c2)

{

return complex(c1.real * c2.real - c1.imag * c2.imag, c1.real * c2.imag + c1.imag * c2.real);

}

complex operator /(const complex &c1, const complex &c2)

{

return complex((c1.real * c2.real + c1.imag * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag),

(c1.imag * c2.real - c1.real * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag));

}

void print(const complex &c)

{

if(c.imag<0)

cout<<c.real<<c.imag<<'i';

else

cout<<c.real<<'+'<<c.imag<<'i';

}

void main()

{

complex c1(2.0, 3.0), c2(4.0, -2.0), c3;

c3 = c1 + c2;

cout<<"/nc1+c2=";

print(c3);

c3 = c1 - c2;

cout<<"/nc1-c2=";

print(c3);

c3 = c1 * c2;

cout<<"/nc1*c2=";

print(c3);

c3 = c1 / c2;

cout<<"/nc1/c2=";

print(c3);

c3 = (c1+c2) * (c1-c2) * c2/c1;

cout<<"/n(c1+c2)*(c1-c2)*c2/c1=";

print(c3);

cout<<endl;

}

该程序的运行结果与上例相同。前面已讲过,对又目运算符,重载为成员函数时,仅一个参数,另一个被隐含;重载为友元函数时,有两个参数,没有隐含参数。因此,程序中出现的 c1+c2

编译程序解释为:

  operator+(c1, c2)

调用如下函数,进行求值,

  complex operator +(const coplex &c1, const complex &c2)

3. 两种重载形式的比较

一般说来,单目运算符最好被重载为成员;对双目运算符最好被重载为友元函数,双目运算符重载为友元函数比重载为成员函数更方便此,但是,有的双目运算符还是重载为成员函数为好,例如,赋值运算符。因为,它如果被重载为友元函数,将会出现与赋值语义不一致的地方。 其他运算符的重载举例

1).下标运算符重载

由于C语言的数组中并没有保存其大小,因此,不能对数组元素进行存取范围的检查,无法保证给数组动态赋值不会越界。利用C++的类可以定义一种更安全、功能强的数组类型。为此,为该类定义重载运算符[]。

下面一个例子:

#include <iostream.h>

class CharArray

{

public:

CharArray(int l)

{

Length = l;

Buff = new char[Length];

}

~CharArray() { delete Buff; }

int GetLength() { return Length; }

char & operator [](int i);

private:

int Length;

char * Buff;

};

char & CharArray:perator [](int i)

{

static char ch = 0;

if(i<Length&&i>=0)

return Buff;

else

{

cout<<"/nIndex out of range.";

return ch;

}

}

void main()

{

int cnt;

CharArray string1(6);

char * string2 = "string";

for(cnt=0; cnt<8; cnt++)

string1[cnt] = string2[cnt];

cout<<"/n";

for(cnt=0; cnt<8; cnt++)

cout<<string1[cnt];

cout<<"/n";

cout<<string1.GetLength()<<endl;

}

该数组类的优点如下:

(1) 其大小不一定是一个常量。

(2) 运行时动态指定大小可以不用运算符new和delete。

(3) 当使用该类数组作函数参数时,不心分别传递数组变量本身及其大小,因为该对象中已经保存大小。

在重载下标运算符函数时应该注意:

(1) 该函数只能带一个参数,不可带多个参数。

(2) 不得重载为友元函数,必须是非static类的成员函数。 2). 重载增1减1运算符.

增1减1运算符是单目运算符。它们又有前缀和后缀运算两种。为了区分这两种运算,将后缀运算视为又目运算符。表达式

    obj++或obj--

被看作为:

    obj++0或obj--0

下面举一例子说明重载增1减1运算符的应用。

#include <iostream.h>

class counter

{

public:

counter() { v=0; }

counter operator ++();

counter operator ++(int );

void print() { cout<<v<<endl; }

private:

unsigned v;

};

counter counter:perator ++()

{

v++;

return *this;

}

counter counter:perator ++(int)

{

counter t;

t.v = v++;

return t;

}

void main()

{

counter c;

for(int i=0; i<8; i++)

c++;

c.print();

for(i=0; i<8; i++)

++c;

c.print();

}

3). 重载函数调用运算符

可以将函数调用运算符()看成是下标运算[]的扩展。函数调用运算符可以带0个至多个参数。下面通过一个实例来熟悉函数调用运算符的重载。

#include <iostream.h>

class F

{

public:

double operator ()(double x, double y) const;

};

double F:perator ()(double x, double y) const

{

return (x+5)*y;

}

void main()

{

F f;

cout<<f(1.5, 2.2)<<endl;

用户定义的类型,如:字符串,日期,复数,联合体以及文件常常重载二元 + 操作符以实现对象的连接,附加或合并机制。但是要正确实现 + 操作符会给设计,实现和性能带来一定的挑战。本文将概要性地介绍如何选择正确的策略来为用户定义类型重载这个操作符。

  考虑如下的表达式: int x=4+2;

  内建的 + 操作符有两个类型相同的操作数,相加并返回右值 6,然后被赋值给 x。我们可以断定内建的 + 是一个二元的,对称的,可交换的操作符。它产生的结果的类型与其操作数类型相同。按照这个规测,当你为某个用户定义类型重载操作符时,也应该遵循相应内建操作符的特征。

  为用户定义类型重载 + 操作符是很常见的编程任务。尽管 C++ 提供了几种实现方法,但是它们容易使人产生设计上的误解,这种误解常常影响代码的正确性,性能以及与标准库组件之间的兼容性。

  下面我们就来分析内建操作符的特征并尝试模仿其相应的重载机制。

  第一步:在成员函数和非成员函数之间选择

  你可以用类成员函数的方式实现二元操作符如:+、- 以及 ==,例如:

class String

{

public:

bool operator==(const String & s); // 比较 *this 和 s

};

  这个方法是有问题的。相对于其内建的操作符来说,重载的操作符在这里不具有对称性;它的两个参数一个类型为:const String * const(这个参数是隐含的),另一个类型为:const String &。因此,一些 STL 算法和容器将无法正确处理这样的对象。

  另外一个可选方法是把重载操作符 + 定义为一个外部(extern)函数,该函数带两个类型相同的参数:

  String operator + (const String & s1, const String s2);

  这样一来,类 String 必须将该重载操作符声明为友元:

class String

{

public:

friend String operator+(const String& s1,const String&s2);

};

  第二步:返回值的两难选择

  如前所述,内建操作符 + 返回右值,其类型与操作数相同。但是在调用者堆栈里返回一个对象效率很低,处理大型对象时尤其如此。那么能不能返回一个指针或引用呢?答案是不行。因为返回指针破坏参数类型与返回值类型应该相同的规则。更糟的是,链接多个表达式将成为不可能:

String s1,s2,s3;

String res;

res=s1+s2+s3; // 不可能用 String* 作为返回值

  虽然有一个办法可以定义额外的 + 操作符重载版本,但这个办法是我们不希望用的,因为返回的指针必须指向动态分配的对象。这样的话,如果调用者释放(delete)返回的指针失败,那么将导致内存泄漏。显然,返回 String* 不是一个好主意。

  那么返回 String& 好不好呢?返回的引用必须一定要是一个有效的 String。它避免了使用动态对象分配,该方法返回的是一个本地静态对象的引用。静态对象确实解决了内存泄漏问题,但这个方法的可行性仍然值得怀疑。在一个多线程应用中,两个线程可能会并发调用 + 操作符,因此造成 String 对象的混乱。而且,因为静态对象总是保留其调用前的状态,所以有必要针对每次 + 操作符的调用都清除该静态 String 对象。由此看来,在堆栈上返回结果仍然是最安全和最简单的解决方案。 出错了测试就用C++  重载操作符无限检查各种错误逻辑问题 b2b软件


unto非常好用的商路通网信息发布软件nextC++ XML约会时间到直观解析TinyXML篇多实例申明
回复

使用道具 举报

0

主题

1026

帖子

1111

积分

积分
1111
信息发布软件沙发
发表于 2017-6-28 04:47:09 | 只看该作者
0多天才来评价的,后台很完美易懂。客服和助理,技师都会一一解答!!全5分星是一定的!!

回复 支持 反对

使用道具 举报

1

主题

608

帖子

594

积分

积分
594
推广工具板凳
发表于 2017-7-2 04:28:55 | 只看该作者
我是个凑数的。。。

回复 支持 反对

使用道具 举报

0

主题

1002

帖子

1010

积分

积分
1010
软件定制开发地板
发表于 2017-7-6 23:34:35 | 只看该作者
小卖家,虽然店铺很难看,但是还是害怕装修会不会没有效果,客服台热情了!就做了一个,付款了后其实蛮忐忑的,结果做的图非常漂亮,转化率也提高了很多,这几天单子明确多了起来,实在是太感谢了!介绍来的一个朋友,做的也很不错

回复 支持 反对

使用道具 举报

0

主题

614

帖子

612

积分

积分
612
5#定制软件#
发表于 2017-7-8 10:34:59 | 只看该作者
合作了。

回复 支持 反对

使用道具 举报

0

主题

603

帖子

573

积分

积分
573
6#定制软件#
发表于 2017-7-15 14:20:52 | 只看该作者
卖家!不厌其烦的解释,非常愉快的交易经历!

回复 支持 反对

使用道具 举报

0

主题

2091

帖子

5

积分

积分
5
7#定制软件#
发表于 2017-7-16 00:43:20 | 只看该作者
特意用了几天才来追加评论的,真心好用,大爱!!!

回复 支持 反对

使用道具 举报

0

主题

607

帖子

599

积分

积分
599
8#定制软件#
发表于 2017-7-16 01:09:17 | 只看该作者
亮,也很专业,弄起来以后果然就是不一样,速度也很快,有效率,满意

回复 支持 反对

使用道具 举报

0

主题

1042

帖子

1045

积分

积分
1045
9#定制软件#
发表于 2017-7-19 20:57:44 | 只看该作者
下载了几百兆的文件,自己要的还要慢慢筛选。

回复 支持 反对

使用道具 举报

0

主题

989

帖子

995

积分

积分
995
10#定制软件#
发表于 2017-7-23 00:06:18 | 只看该作者
很好,热情有耐心!

回复 支持 反对

使用道具 举报

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

本版积分规则

相关导读
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:
信息发布软件AIWROK软件用图找图示例templateMat方法
AIWROK软件用图找图示例templateMat方法
信息发布软件苹果JS代码运行时[selfRunTime]小结
苹果JS代码运行时[selfRunTime]小结 方法一:stop 停止运行[/backcolor]方法二:runOnUIThread ui 线程中运行函数[/backcolor]
信息发布软件苹果系统专用H5创建一个绿色文件
苹果系统专用H5创建一个绿色文件
信息发布软件AIWROK软件技术分享苹果IOS系统获取外部IP
AIWROK软件技术分享苹果IOS系统获取外部IP
信息发布软件AIWROK软件安卓总结图像视觉处理[opencv]方法
AIWROK软件安卓总结图像视觉处理[opencv]方法 方法1:getcolorNum:获取区域颜色数量 方法2:gradientProcessing:计算梯度 方法3:invertColor:颜色翻转 方法4:openImg:开运算 方法5:removeSmallObjects:去杂点 方法7:shapeSplit:分隔提取 方法8:shapeSplitEx:cv 文件分隔提取 方法9:templateMatch:模板匹配 方法10:threshold:二值化 方法11:toGray:转灰度图 方法12:
信息发布软件AIWROK软件start.js简单H5直接调用
信息发布软件AIWROK苹果系统简单的UI界面分享一下
信息发布软件图像视觉处理[opencv]小结3
图像视觉处理[opencv]小结3 方法1:findImageOneSift:找图(SIFT 算法) 方法2:findImagesEx:cv 文件找图 方法3:findMultiColor:找色 方法4:findMultiColorEx:cv 文件多点找色 方法5:gaussianBlur:高斯滤波 方法6:getAllShap:获取所有 Shape 方法7:getContours:获取轮廓图
信息发布软件AIWROK软件图像视觉处理[opencv]小结2
AIWROK软件图像视觉处理[opencv]小结2 方法 1:coverageArea:图片抹除方法2:dilateImage:图像膨胀 方法3:drawRect:Shape 绘制 方法4:erodeImage:图像腐蚀 方法5:filtersEx:cv 文件滤镜 方法6:findImageOneKAZE:找图(KAZE 算法)
信息发布软件AIWORK软件图像视觉处理[opencv]小结1
AIWORK软件图像视觉处理[opencv]小结1// 1. HSV颜色变换:对图像进行HSV通道的颜色变换,可调整色相、饱和度、对比度// 参数说明:输入图像(Mat)、色相参数(int)、饱和度参数(int)、对比度参数(int)// 返回值:处理后的Mat图像function hsvTransform() { // 截取屏幕区域(432,768)大小、100质量的图像并转为Mat格式 var mat = screen.screenShot(432, 768, 100).getMat(); // 调用HSV变换:色相17、饱和度17、对比度17
信息发布软件浏览器H5方法小结
浏览器H5方法小结
信息发布软件AIWROK软件漂亮对接H5简单示例
AIWROK软件漂亮对接H5简单示例
信息发布软件AIWROK软件线程优先级示例
AIWROK软件线程优先级示例
信息发布软件AIWORK软件在屏幕底部显示实时日志可以移动
AIWORK软件在屏幕底部显示实时日志可以移动
信息发布软件安卓HID贝塞尔曲线手势操作示例
安卓HID贝塞尔曲线手势操作示例
信息发布软件安卓端与H5页面交互的完整实现
安卓端与H5页面交互的完整实现
信息发布软件苹果系统里如何使用OCR进行文本识别并执行点击操作
苹果系统里如何使用OCR进行文本识别并执行点击操作
信息发布软件AIWROK软件列表控件 [uiList] 实例演示
AIWROK软件列表控件 实例演示
信息发布软件安卓列表控件 [uiList] 方法小结
安卓列表控件 方法小结 方法 1:add方法 2:addArray方法 3:clear方法 4:delete方法 5:execSQL方法 6:exportData方法 7:exportTxt方法 8:findByID方法 9:getColumnCount方法 10:getColumnIndex方法 11:getColumnName方法 12:getColumnNames方法 13:getCount方法 14:getCursorSetp方法 15:getPosition方法 16:getString方法 17:getStringl方法 18:importData方法 19:isLast方法 20:move方法 21:moveNext方法
信息发布软件安卓版AIWROK软件APP操作类小结合集
安卓版AIWROK软件APP操作类小结合集 方法 1:代理模式获取当前 activity 地址[/backcolor]方法 2:getAllApp 获取所有 app[/backcolor]方法 3:getAppName 获取 APP 名字[/backcolor]方法 4:getCurrentActivity 无障碍获取当前 activity 地址[/backcolor]方法 5:getLocalAppName 获取自己 APP 名字(AIWORK 打包)[/backcolor]方法 6:getLocalVerName 获取自己版本号(AIWORK 打包)[/backcolor]方法 7:getMemory
信息发布软件AIWROK软件苹果点击开始按钮运行最简单的封装脚本例子
AIWROK软件苹果点击开始按钮运行最简单的封装脚本例子 另外主脚本.js封装的:
信息发布软件安卓toast吐司的各种方法应用实例
安卓toast吐司的各种方法应用实例
信息发布软件AIWROK软件支持悬浮窗自由定位和拖拽功能
AIWROK软件支持悬浮窗自由定位和拖拽功能
信息发布软件AIWROK软件安卓工具箱悬浮窗
AIWROK软件安卓工具箱悬浮窗
信息发布软件安卓通过floatUI创建悬浮窗H5界面
安卓通过floatUI创建悬浮窗H5界面
信息发布软件安卓专用吐司toast倒计时到指定时间并显示剩余时间
安卓专用吐司toast倒计时到指定时间并显示剩余时间
信息发布软件aiwrok软件适用于安卓环境下的外网IP获取工具实例
aiwrok软件适用于安卓环境下的外网IP获取工具实例
信息发布软件苹果系统激活模式投屏
1.安装AK-Runner链接下载https://www.pgyer.com/akrunner或者扫码下载AK-Runner.ipa2.安装后需要信任证书找到 设置 --通用---VPN与设备管理3.激活AK-Runner激活需要pc,首先下载激活器📎AK-Runner激活器.zip新手机需要爱思助手协助开启开发者模式,开启过的可以忽略。(爱思助手最好使用最新版)打开爱思助手按照提示操作即可,打开实时投屏。能获取到屏幕信息即可。如果没有出现可能是手机没有开启开发者模式,参考爱思助手
信息发布软件AIWROK软件全部硬件HID按键码小结集合
AIWROK软件全部硬件HID按键码小结集合 方法真实示例:
信息发布软件IOS苹果系统创建具有现代H5视觉效果的界面
IOS苹果系统创建具有现代H5视觉效果的界面
信息发布软件IOS苹果示例如何使用不同的UI风格创建直接运行脚本的按钮
IOS苹果示例如何使用不同的UI风格创建直接运行脚本的按钮
信息发布软件AIWROK苹果IOS线条类[Line]复杂示例
AIWROK苹果IOS线条类[Line]复杂示例
信息发布软件AIWROK软件苹果IOS线条实作简单示例
AIWROK软件苹果IOS线条实作简单示例
信息发布软件AIWROK软件IOS苹果线条类[Line]方法小结
AIWROK软件IOS苹果线条类[Line]方法小结 . 线条宽度设置方法2. 线条高度设置方法3. 线条颜色设置方法实用演示例子:
信息发布软件AIWROK软件苹果IOS吐司toast.show方法小结
AIWROK软件苹果IOS吐司toast.show方法小结 实例呈现:
信息发布软件AIWROK软件苹果IOS系统图色视觉[opencv]方法小结
AIWROK软件苹果IOS系统图色视觉[opencv]方法小结 方法 1:OCR 识别(指定区域)方法 2:获取图像 Base64 编码方法 3:获取 Mat 对象方法 4:Mat 转 Image方法 5:Base64 转 Image方法 6:读取图片文件为 Image方法 7:释放图像资源实战示例子:
信息发布软件AIWROK软件苹果IOS系统图色视觉[opencv]方法小结
AIWROK软件苹果IOS系统图色视觉[opencv]方法小结 方法 1:cv 文件找图(模版匹配 cv 找图)方法 2:cv 文件 OCR(模版匹配 OCR)方法 3:模版匹配(通过模版匹配找到目标对象)方法 4:找多图方法 5:转灰度图(图像转灰度图)方法 6:裁切图片(从大图中截图裁切图片)方法 7:二值化方法 8:颜色翻转实战实例:
信息发布软件AIWROK软件苹果IOS系统随机数[RJrxn1afZqW7yjf2NK]方法小结
AIWROK软件随机数[RJrxn1afZqW7yjf2NK]方法小结 📌GQGqcAlZv2随机字符📌WBJqf91s7J随机整数📌LtUqFOGkc6随机小数📌随机布尔值生成函数📌随机数组元素选择函数使用示例表 📌随机日期使用示例表使用示例表使用示例表📌随机UUID生成函数函数说明表使用示例表📌随机密码 / 验证码随机密码 / 验证码生成函数及使用说明[/backcolor]函数说明表[/backcolor]使用示例表[/back
信息发布软件AIWROK软件苹果系统里的事件[event]方法小结
AIWROK软件苹果系统里的事件[event]方法小结 方法 1:截屏开始方法 2:截屏暂停方法 3:截屏恢复实战示例:
信息发布软件AWIROK苹果系统屏幕类[screen]方法小结
AWIROK苹果系统屏幕类[screen]方法小结 方法 1:lockScreen(锁定屏幕缓存)方法 2:unLockScreen(解锁锁屏幕缓存)方法 3:isOpenShortcut(是否开启快照截屏)方法 4:getScreenWidth(获取屏幕宽度)方法 5:getScreenHeight(获取屏幕高度)方法 6:ocr(识别支持设定区域)方法 7:screenShot(截图缩放,记得调用 close 释放图像)方法 8:screenShotFull(全尺寸截图,记得调用 close 释放图像)实战实例子:单独 OCR
信息发布软件AIWROK软无任何苹果IOS系统配置[config]方法小结
AIWROK软无任何苹果IOS系统配置[config]方法小结 getConfig 获取配置📌setConfig设置配置实际示例:
信息发布软件AIWROK软件安卓日志窗口[logWindow]方法小结总汇集合
AIWROK软件安卓日志窗口[logWindow]方法小结总汇集合 clear 清理日志📌close关闭日志窗口📌setAlpha设置透明度📌setClickModel设置可点模式,就是无法穿透桌面📌setColor设置日志字体颜色📌setDrag设置为手动拖拽模式setHeight设置高度📌setNoClickModel设置为不可点,穿透桌面📌setPosition设置位置📌setSize设置日志字体大小setTitle设置标题📌setWidth 设置
信息发布软件AIWROK安卓类日志类[print]方法小结总汇集合
AIWROK安卓类日志类方法小结总汇集合 print.log:输出调试 / 日志信息2. print.err:输出错误信息3. print.time:启动计时4. print.timeEnd:结束计时并返回时长5. print.warn:输出警告信息完整的示例:
信息发布软件AIWROK软件苹果IOS快捷指令代理服务[shortAgent]方法小结
AIWROK软件苹果IOS快捷指令代理服务[shortAgent]方法小结 openApp启动app📌appopenUrl打开网址或者Scheme📌openSelf自启动📌screenShot代理截屏📌getTopApp 获取顶端app(I0S18+)特别示例:
信息发布软件AIWROK系统安卓找字OCR___方法小结总汇集合
AIWROK系统安卓找字OCR___方法小结总汇集合 findIncludeText查询包含文字🔍🔢findIncludeTexts查询包含文字多目标🔍🔢findSimilarText模糊查询🔍🔢findText查询文字🔍🔢getAllDetect 获取所有目标🔍🔢getAllString 获取所有字符串🔍🔢getJson 获取json对象🔍🔢getJsonString 获取json字符串🔍🔢MLKitOcr文字
信息发布软件AIWROK软件toast_显示方法小结
AIWROK软件toast_显示方法小结 toast.setAlpha___设置透明度toast.setPoint___设置位置toast.setSize___设置字号toast.setTextColor___设置文字颜色toast.showLong___显示长吐司toast.show___显示吐司特别案例:示例二:示例三倒计时到指定时间并显示剩余时间(红色文字):
信息发布软件AIWROK软件苹果系统方法快捷指令[shortcut]方法小结
AIWROK软件苹果系统方法快捷指令[shortcut]方法小结 openApp启动app(需要前台运行)📌openUrl打开网页(需要前台运行)📌runShortcut打开快捷指令(需要前台运行)
信息发布软件AIWROK软件苹果IOS矩形类[rect]方法小结
AIWROK软件苹果IOS矩形类[rect]方法小结 getLeft 获取左边界📌getRight获取右边界📌getTop获取上边界📌getBottom 获取下边界📌getWidth 获取宽度📌getHeight 获取高度📌getCenterX 获取中心X坐标📌getCenterY 获取中心Y坐标📌inRect 判断点是否在矩形内📌set设置矩形的边界📌toString输出字符串📌getRandX生成随机X坐标📌getRandY生成随
信息发布软件AIWROK软件IOS系统里脚本项目[project]方法小结
AIWROK软件IOS系统里脚本项目方法小结 📌getCodePath 获取代码完整目录📌getPluginsPath 获取插件完整目录📌getResourcesPath 获取资源完整目录📌getCard 获取卡密📌getVersion 获取脚本版本调用示例代码:
信息发布软件IOS功能苹果AIWROK软件剪贴板类[clipboard]方法小结
IOS功能苹果AIWROK软件剪贴板类[clipboard]方法小结 copyToClipboard 复制到剪贴板📌copyToClipboardPIP复制到剪贴板📌readFromClipboard 从剪贴板读取示例方法实用:
信息发布软件AIWROK软件IOS苹果系统检测目标类[Detect]方法方法小结
AIWROK软件IOS苹果系统检测目标类[Detect]方法方法小结 📌score 获取检测分数📌getRect 获取检测区域📌clickRandom随机点击📌click点击示例演示:
信息发布软件AIWROK苹果IOS系统里的打印[print]方法小结
AIWROK苹果IOS系统里的打印方法小结 📌now返回本次脚本运行所有日志📌last 返回上次脚本运行所有日志📌showPip 显示画中画,必须前台📌hidePip 隐藏画中画,必须前台log日志📌log日志📌warn警告err 错误📌debug 调试简写printl示例方法演示:
信息发布软件AIWROK软件超多功能越全HID小结方法大放送
AIWROK软件超多功能越全HID小结方法大放送 ⌨️📌back:back 键⌨️📌backspace 键盘back删除键⌨️📌click:点击坐标⌨️📌clickPercent:点击百分比坐标⌨️📌clicks:连续点击⌨️📌clicksV2:连续点击 v2(可设置按下时长)⌨️📌connetBLE:连接蓝牙 HID(必须先完成配对)⌨
信息发布软件AIWROK软件苹果找图YoloV5目标检测[YoloV5]方法小结
AIWROK软件苹果找图YoloV5目标检测[YoloV5]方法小结 📌detectPercent预测📌loadModel 加载模型📌close释放模型
信息发布软件📱⌨️最全的AIWROK软件安卓 HID方法集合小结A
信息发布软件示例苹果IOS系统简单展示一下H5界面AIWORK WebView 示例
示例苹果IOS系统简单展示一下H5界面AIWORK WebView 示例
信息发布软件用AIWROK软件IOS苹果系统创建一个黄色主题风格的 WebView 示例H5
用AIWROK软件IOS苹果系统创建一个黄色主题风格的 WebView 示例H5printl('//🍎交流QQ群711841924');// 创建一个黄色主题风格的 WebView 示例function createYellowThemedWebViewExample() { // 创建 WebView 实例 var web = new WebView(); // 显示界面 web.show(); // 加载黄色主题风格的 HTML 内容 web.loadHtml(`<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UT
信息发布软件苹果创建一个蓝色主题风格的 WebView 示例H5
苹果创建一个蓝色主题风格的 WebView 示例H5 演示了如何创建和操作 WebView 控件。代码中使用了注释的方式避免了实际的 URL 加载和界面关闭,以确保安全性和功能性。以下是代码的详细说明: function createYellowThemedWebViewExample() {...}:定义了一个名为 createYellowThemedWebViewExample 的函数,用于创建一个带有黄色主题风格的 WebView 示例。var web = new WebView();:创建了一个新的 WebView 实例。web.show()
信息发布软件AIWROK软件苹果IOS控件[WebView]方法小结
AIWROK软件苹果IOS控件[WebView]方法小结 📌show显示界面📌loadFile 加载本地文件📌loadHtml 加载 HTML内容📌dismiss关闭界面📌loadUrl加载网页URL完整演示例子:
信息发布软件AIWROK苹果部分功能UI-水平容器[Horizontal]方法小结
AIWROK苹果部分功能UI-水平容器[Horizontal]方法小结 📌addView添加子控件📌removeView移除视图📌clearAllViews清空所有视图📌getViewCount 获取视图数量📌setSpacing设置控件间距📌setBackgroundColor设置背景颜色📌setAlignment 设置对齐方式示例子 1 风格:示例风格 2:
信息发布软件AIWROK软件苹果IOS里的UI-输入框类[Input]方法小结
AIWROK软件苹果IOS里的UI-输入框类方法小结 📌setText 设置输入框文本📌getText 获取输入框文本 📌setlD设置控件ID📌setDefultText 设置默认值📌setTextColor设置文本颜色📌setFontSize设置字体大小📌setBackgroundColor 设置背景颜色📌setWidth设置输入框宽度📌setHeight 设置输入框高度📌setPlaceholder 设置占位符文本📌setTextAlignment 设
信息发布软件AIWROK软件苹果IOS系统Ul-空白站位[Space]方法小结
AIWROK软件苹果IOS系统Ul-空白站位[Space]方法小结 📌setHeight设置高度📌setWidth设置宽度📌setBackgroundColor 设置背景颜色完整示例:
信息发布软件AIWROK软件苹果IOS系统里UI-界面视图[IOSView]方法小结
苹果IOS系统里UI-界面视图方法小结 📌show显示界面📌dismiss关闭📌UIaddView添加📌getView获取view视图📌setBackgroundColor 设置背景颜色完整示例:
信息发布软件&#128296;UI-复选框类[CheckBox]方法小结
🔨UI-复选框类[CheckBox]方法小结📌setText 设置复选框标题📌getText 获取复选框标题📌setID设置控件ID📌setDefultSelect 设置默认值📌select选中复选框📌deselect取消选中复选框📌isSelect获取选中状态📌setColor设置复选框颜色 📌setWidth 设置控件宽度📌setHeight 设置控件高度📌onClick 按钮点击事件示例完整例子:

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2025-11-4 04:24 , Processed in 0.282154 second(s), 56 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

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