不可在 for 循环体内修改循环变量,防止 for 循环失去控制。

 #include <iostream>

 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
//基类
class First {
int val1;
protected:
void SetVal1(int v) {
val1=v;
}
public:
show_First(void) {
cout<<"val1="<<val1<<endl;
}
};
//派生类
class Second:public First {
int val2;
protected:
void SetVal2(int v) {
SetVal1(v); //使用First 基类的保护成员
val2=v;
}
public:
show_Second(void) {
show_First();
cout<<"val2="<<val2<<endl;
}
};
//派生类
class Third:public Second {
int val3;
public:
void SetVal3(int n) {
SetVal1(n); //使用First 基类的保护成员
SetVal2(n); //使用Second基类的保护成员
val3=n;
}
show_Third(void) {
show_Second();
cout<<"val3="<<val3<<endl;
}
};
//main()函数的定义 int main(int argc, char** argv) {
First f1;
//f1.SetVal1(1); 不可访问 Second s1;
//s1.SetVal1(1); 不可访问
//s1.SetVal2(2); 不可访问 Third t1;
//t1.SetVal1(1); 不可访问
//t1.SetVal2(2); 不可访问
t1.SetVal3(); //显示t1对象的数据
cout<<"t1.show_Third();"<<endl;
t1.show_Third();
cout<<"t1.show_Second();"<<endl;
t1.show_Second();
cout<<"t1.show_First();"<<endl;
t1.show_First();
return ;
}

不可在 for 循环体内修改循环变量,防止 for 循环失去控制的更多相关文章

  1. 【Javascript】: for循环中定义的变量在for循环体外也有效

    for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = ...

  2. JAVA变量声明在循环体内还是循环体外

    (1) for (int i = 0; i < 10000; ++i) { Object obj = new Object(); System.out.println("obj= &q ...

  3. C# 使用IEnumerable,yield 返回结果,同时使用foreach时,在循环内修改变量的值无效(二)

    前言 在上篇文章中我得出结论,遍历迭代器修改迭代器中项目的值未生效,是因为使用了yield return,并且每次遍历迭代器都执行返回迭代器的方法.这篇文章是接着上篇文章,从代码实现的角度来验证出现这 ...

  4. SQLserver中的常量与变量、判断循环语句

    数据库中的变量与常量 数据库中定义变量 [起临时存储数据的作用] ---数据库中定义变量(运行时要从头到尾进行运行,从定义变量开始到赋值) --前面必须加 declare --定义变量 :    de ...

  5. 11 tensorflow在tf.while_loop循环(非一般循环)中使用操纵变量该怎么做

    代码(操纵全局变量) xiaojie=1 i=tf.constant(0,dtype=tf.int32) batch_len=tf.constant(10,dtype=tf.int32) loop_c ...

  6. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  7. 使用TLSharp进行Telegram中遭遇循环体内报session.dat文件被占用时解决方式一例

    背景 公司做Telegram开发,.net Framework项目,调用TLSharp作为框架进行开发. 开发需求是读取群里新到达的信息并进行过滤. 由此不可避免得要用到 TLSharp.Core.T ...

  8. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  9. 关于变量在for循环内外定义的思考

    在c#或java里面,我们通常会这样写for循环: ;i<;i++) { Console.WriteLine(i); } 前一阵子,我突发奇想,如果按照下面这样写,会不会比上面的运行效率高一些: ...

随机推荐

  1. Composer更新慢的终极解决方案

    Packagist 镜像 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将  还没安装 Com ...

  2. 群智能优化算法-测试函数matlab源码

    群智能优化算法测试函数matlab源代码 global M; creatematrix(2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画ackley图. %%%% ...

  3. 使用dockerfile 构建springboot 的docker镜像

    1 新建一个 springboot 项目,并将其打包成 jar 文件.生成demo1.jar 文件 请参考 使用springBoot搭建REATFul风格的web demo 2 编写 dockerfi ...

  4. mysql常用函数汇总(分享)

    以下是对mysql中的常用函数进行了汇总介绍.需要的朋友可以过来参考下. 一.数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x ...

  5. Jquery获得子页面中某个元素

    本页面中有子框架iframe1.获取iframe1中元素 $("input[name$='svNo']", window.frames["iframe1"].d ...

  6. Linux Awk使用案例总结(nginx日志统计,文件对比合并等)

    知识点: 1)数组 数组是用来存储一系列值的变量,可通过索引来访问数组的值. Awk中数组称为关联数组,因为它的下标(索引)可以是数字也可以是字符串. 下标通常称为键,数组元素的键和值存储在Awk程序 ...

  7. 理解HTTP幂等性,分布式事物

    理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么 ...

  8. 解决Java连接MySQL存储过程返回参数值为乱码问题

    先说MySQL的字符集问题.Windows下可通过修改my.ini内的 [mysql] default-character-set=utf8    //客户端的默认字符集 在MySQL客户端工具中输入 ...

  9. ny523 亡命逃串 hdoj 1253胜利大逃亡

    亡命逃窜 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 从前有个叫hck的骑士,为了救我们美丽的公主,潜入魔王的老巢,够英雄吧.不过英雄不是这么好当的.这个可怜的娃被魔 ...

  10. [转帖]cocos2D-X源码分析之从cocos2D-X学习OpenGL(2)----QUAD_COMMAND

    原文:cocos2D-X源码分析之从cocos2D-X学习OpenGL(2)----QUAD_COMMAND 上一篇文章介绍了cocos2d-x的基本渲染结构,这篇顺着之前的渲染结构介绍渲染命令QUA ...