排名推广网站,黑网站代码制作,推广软文发布平台,网站推广费用大概需要多少钱具体代码
/*自定义迭代器的实现
*/
#include iostream
using namespace std;
class num
{int val; //具体的数字int length; //数字的位数void calculate_length(){if(val/100){ //这个数字只有1位length1;return;}int x10; //这里就是不断重复除直…具体代码
/*自定义迭代器的实现
*/
#include iostream
using namespace std;
class num
{int val; //具体的数字int length; //数字的位数void calculate_length(){if(val/100){ //这个数字只有1位length1;return;}int x10; //这里就是不断重复除直到为0从而得出数字的具体位数int pow0;int tempNumval;while(tempNum!0){tempNum/10;pow;}lengthpow;}
public:num(int tempNum){ //以下是一些基本的函数用于设置值valtempNum;calculate_length();}void set(int tempNum){val tempNum;calculate_length();}int get(){return val;}//以下是迭代器的部分class iterator{int pos; //数字的下标num* obj; //如果要在迭代器里面访问num的内容必须要这个public:/*迭代器要重载*,,--*/iterator(num* ptr,int n){pos n;obj ptr;}iterator(){//空构造器pos 0;obj nullptr;}//操作符void operator(){ //注意这种没有参数的重载的是前置的 itpos;}void operator(int i){ //这种有任意int参数的重载的是后缀 itpos;}void operator--(){pos--;}void operator--(int i){ pos--;}int operator*()const{//13324 取第二位10位 (13324%100)/10//num 去除第n位 (num % 10^(n))/ 10^(n-1)if(posobj-length) return -1;if(pos0)return obj-val%10;int o10;int pow0;while(pow(pos-1)){// coutpow posendl;o*10;pow;}return (obj-val%(o*10))/(o);}bool operator!(const iterator it){return it.pos!pos;}bool operator(const iterator it){return it.pospos;}};//获取迭代器常见的比如begin,end;iterator begin(){return iterator(this,0);}iterator end(){return iterator(this,length);}
};
int main()
{num a(2354862);for(auto ita.begin();it!a.end();it){cout*it ;}coutendl;return 0;
}参考资料
https://blog.csdn.net/dyyzlzc/article/details/103336232