protected关键字对父子成员变量的影响
include<iostream>
#include<string>
using namespace std;
class parent{
protected:
int mv;
public:
parent(){
mv = ;
}
int value(){
return mv;
}
};
class child:public parent{
public:
int addvalue(int v){
mv = mv + v;
}
int changemv(int v){
mv = v;
}
};
int main(){
parent p;
child c;
cout << "c.value()=" << c.value() << endl;//
cout << "p.value()=" << p.value() << endl;//
c.addvalue();
cout << "c.value()=" << c.value() << endl;//
cout << "p.value()=" << p.value() << endl;//
cout << "c.changemv()后" << endl;
c.changemv();
cout << "c.mv=" << c.value() << endl;//
cout << "p.mv=" << p.value() << endl;//
return ;
}
运行结果:
c.value()=100
p.value()=100
c.value()=350
p.value()=100
c.changemv()后
c.mv=380
p.mv=100
结论:
对于具有继承关系的类,父类和子类各自有各自的成员变量,子类对其成员变量的修改并不会影响父类的
protected关键字对父子成员变量的影响的更多相关文章
- 静态static关键字概述和静态static关键字修饰成员变量
static关键字 概述 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的.也就是说,既然属于类,就可以不靠创建对象来调用了 ...
- 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态
一. Objective-C 方法详解 1. 方法属性 (1) OC 方法传参机制 Object-C 方法传参机制 : OC 中得参数传递都是值传递, 传入参数的是参数的副本; -- 基本类型 (值传 ...
- 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
. 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...
- Java成员变量和局部变量
Java成员变量和局部变量 一.成员变量和局部变量 二.static关键字 三.成员变量和静态变量区别 四.main函数 五.静态函数什么时候用 六.静态代码块 七.构造代码块 构造代码块先于构造函数 ...
- OC 初识NSString,self关键字,继承,成员变量的可见性,description方法
OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符 ...
- 成员变量的隐藏,方法的覆盖,super关键字
成员变量的隐藏:当父类和子类有相同的成员变量时,即定义了与父类相同的成员变量时,就会发生子类对父类变量的隐藏.对于子类的对象来说,父类中的同名成员变量被隐藏起来,子类就会优先使用自己的成员变量,父类成 ...
- 访问权限PPP(public、private、protected、default)之成员变量、成员变量权限解析
首先,我们需要清楚一下方法是由哪些部分构成的: [权限修饰符列表][别的修饰符列表] 返回值类型 方法名(参数列表){ 方法体:} 然后我们需要知道成员变量和成员方法访问有几种情况:1.当前包同一 ...
- 1.2成员变量+类变量+static关键字
成员变量和类变量的区别 由static修饰的变量称为静态变量,其实质上就是一个全局变量.如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰:没有被静态修饰的内容,其实是属于对象的特殊描述. 不 ...
- Objective-C 点语法 成员变量的作用域 @property和@synthesize关键字 id类型
点语法 1.利用点语法替换set方法和get方法 方法调用 Student *stu = [Student new]; [stu setAge : 18]; int age = [stu age]; ...
随机推荐
- 详细讲解使用Sublime Text 3进行Markdown编辑和实时预览
所需安装的插件 Markdown Editing // Markdown编辑和语法高亮 Markdown Preview// Markdown导出html预览 LiveReload// 时时预览 安装 ...
- 最短Hamilton路径 数位dp
最短Hamilton路径 #include<bits/stdc++.h> using namespace std; ; <<maxn][maxn]; int maps[maxn ...
- Python操作MongoDB代码示例
import pymongo #pip install pymongo安装python操作mongodb的模块 myclient=pymongo.MongoClient(host='127.0.0.1 ...
- php连接数据库 需要下载adodb
<?include('adodb/ADOdb.inc.php'); # 加载ADODB$conn = &ADONewConnection('odbc_mssql'); # 建立一个连结$ ...
- 4、Servlet中的Cookie 用于存储 web 页面的用户信息。
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- Web-Security-Learning
Web Security sql注入 MySql MySQL False 注入及技巧总结 MySQL 注入攻击与防御 sql注入学习总结 SQL注入防御与绕过的几种姿势 MySQL偏门技巧 mysql ...
- shiro的使用详解~
在家无聊复习一下shiro 打开了之前的项目,由于lombok插件安装不了,不知道idea抽什么风所以get,set方法报错了,将就一下 只看shiro的使用,配置在shiro分类中有 登录方法 pa ...
- switch下返回各类的数值
定义一个变量,在每个case下赋值,最后return public static int orderDishes(int choice) { int price = 0; switch (choice ...
- 跟着拉大锯大神学Android——网络编程中运行后台服务器端口占用问题
拉大锯网页地址:https://www.sunofbeach.net/u/1153952789488054272 跟着拉大锯大神学Android,在学到网络编程时,使用了大神搭建的用于学习的后台服务器 ...
- VS中自定义代码片段
VS - 工具 - 代码片段管理器 实现:propnotify 加 Tab 键 生成属性定义代码片段 (包含一个字段定义,一个属性get/set定义,其中set会触发属性值变更事件) <?xml ...