不可在 for 循环体内修改循环变量,防止 for 循环失去控制
不可在 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 循环失去控制的更多相关文章
- 【Javascript】: for循环中定义的变量在for循环体外也有效
for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = ...
- JAVA变量声明在循环体内还是循环体外
(1) for (int i = 0; i < 10000; ++i) { Object obj = new Object(); System.out.println("obj= &q ...
- C# 使用IEnumerable,yield 返回结果,同时使用foreach时,在循环内修改变量的值无效(二)
前言 在上篇文章中我得出结论,遍历迭代器修改迭代器中项目的值未生效,是因为使用了yield return,并且每次遍历迭代器都执行返回迭代器的方法.这篇文章是接着上篇文章,从代码实现的角度来验证出现这 ...
- SQLserver中的常量与变量、判断循环语句
数据库中的变量与常量 数据库中定义变量 [起临时存储数据的作用] ---数据库中定义变量(运行时要从头到尾进行运行,从定义变量开始到赋值) --前面必须加 declare --定义变量 : de ...
- 11 tensorflow在tf.while_loop循环(非一般循环)中使用操纵变量该怎么做
代码(操纵全局变量) xiaojie=1 i=tf.constant(0,dtype=tf.int32) batch_len=tf.constant(10,dtype=tf.int32) loop_c ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
- 使用TLSharp进行Telegram中遭遇循环体内报session.dat文件被占用时解决方式一例
背景 公司做Telegram开发,.net Framework项目,调用TLSharp作为框架进行开发. 开发需求是读取群里新到达的信息并进行过滤. 由此不可避免得要用到 TLSharp.Core.T ...
- oracle存储过程、声明变量、for循环|转|
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- 关于变量在for循环内外定义的思考
在c#或java里面,我们通常会这样写for循环: ;i<;i++) { Console.WriteLine(i); } 前一阵子,我突发奇想,如果按照下面这样写,会不会比上面的运行效率高一些: ...
随机推荐
- Sql Server添加单引号
" ' "(单引号)的运用:在sql server中,两个" ' "(单引号)在拼接字符串的情况下运用,就是表示拼接上了一个" ' "单引号 ...
- .net数据库连接池(转载)
如何实现连接池? 确保你每一次的连接使用相同的连接字符串(和连接池相同):只有连接字符串相同时连接池才会工作.如果连接字符串不相同,应用程序就不会使用连接池而是创建一个新的连接. 优点 使用连接池的最 ...
- jenkins构建自动执行jmeter 发送http请求,中间有替换参数路径
#在构建目录下创建jmeter目录,在这个目录下面执行jmeter性能测试mkdir -p $WORKSPACE/target/apache-jmeter-3.1/#复制jmeter文件到执行测试目录 ...
- 基于EM的多直线拟合实现及思考
作者:桂. 时间:2017-03-22 06:13:50 链接:http://www.cnblogs.com/xingshansi/p/6597796.html 声明:欢迎被转载,不过记得注明出处哦 ...
- Gcc\MingW\Cygwin\Msys简介
一.GCC的历史GCC是一个原本用于Unix-like系统下编程的编译器.不过,现在GCC也有了许多Win32下的移植版本.所以,也许对于许多Windows开发者来说,GCC还是一个比较陌生的东西.所 ...
- 逆向随笔 - switch 语句深入分析
switch case 语句在c语言里还是比較简单的.可是被编译出来之后,优化结果往往让人非常疑惑.全然看不懂,以下我们一次次的尝试,看看编译器究竟把switch语句变成什么样了. ① 先上个最简 ...
- android笔记---AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...
- Java experts blog
https://blogs.oracle.com/poonam/ https://blogs.oracle.com/poonam/entry/updates_to_the_java_troublesh ...
- VS15 Visual Assist X破解
Visual Assist X是一款非常好的Microsoft Visual Studio插件,支持C/C++,C#,ASP,Visual Basic,Java和HTML等语言,Visual Assi ...
- angularJS绑定数据中对标签转义的处理二 与pre标签的使用
一.问题 默认情况下,angularJS绑定的数据为字符串文本,不会对其中包含的html标签进行转义生成格式化的文本.在实际工作时碰到接口返回的数据带有html格式时该如何处理. 二.解决办法 1.引 ...