c++类成员的访问属性可以分为三种,分别是:公共成员(public),私有成员(private),受保护成员(protected)。

在类对象的作用域内,公共成员在类的外部是可访问的。

私有成员和受保护成员则不可以直接访问。

下面一个小例子,使用公有成员函数对私有成员进行赋值:

class example
{
public:int a;int set(int b){return c = b;}
private:int c;
};
example one;one.a = 1;//对公有成员进行赋值
one.set(1);//对私有成员c的赋

在网上看到一道面试题:

class A{
private:int i;
public:int j;
}
void main(){
A a;
a.j=1;
}
怎么给i赋值,不能修改类
答案:
思路:class A{   private:int i;   public:int j;}void main(){   A a;   a.j=1;   //用指针实现:   int *pI=(int *) (&a);   *pI=1234;}

C++中对私有成员变量进行赋值相关推荐

  1. 在python语言中定义私有成员变量的方法是_Python在类中有“私有”变量吗?

    回答(11) 2 years ago python中的私有变量或多或少是一个hack:解释器故意重命名变量 . class A: def __init__(self): self.__var = 12 ...

  2. C++57个入门知识点_17 类的访问权限及C语言模拟类的封装(类的私有权限突破方法:编译期进行权限检查,运行期通过指针修改类的私有成员变量;利用函数指针对结构体中成员变量进行修改;CPU大小尾排列)

    接上篇:C++57个入门知识点_16 类的标准写法(类名.成员变量.成员函数及对象命名规则:成员变量一般为私有,成员函数为公有并暴露给外部使用成员变量:防止类过大,声明写在.h,实现写在.cpp,调用 ...

  3. 封装之--通过类中公有方法访问私有成员变量

    如何在ClassB中访问ClassA的私有成员变量?(典型的封装案例) 通过在ClassA中定义公有的成员方法,然后,在ClassB中通过ClassA的对象调用ClassA中的公有方法,来访问Clas ...

  4. C++ 私有成员变量的理解

    私有成员变量的概念,在脑海中的现象是,以private关键字声明,是类的实现部分,不对外公开,不能在对象外部访问对象的私有成员变量. 然而,在实现拷贝构造函数和赋值符函数时,在函数里利用对象直接访问了 ...

  5. 私有成员变量理解的补充

    在设计和实现当前类时,实现拷贝构造函数和赋值构造函数时,甚至在成员函数的内部是可以直接访问当前类的对象(以参数的形式)的私有成员变量的.考虑如下的代码: class Test { public:Tes ...

  6. java 反射私有变量赋值_通过反射,操作私有成员变量(取/赋值),调用私有方法...

    Java的反射工具很强大,有句著名的话:No reflection ,no frameworks. 工作中直到涉及到UT,才体会到它的重要性,现归纳整理一个小例子: 反射工具类:import java ...

  7. 设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个带两

    ​ 设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个 ...

  8. JavaScript中的私有成员

    JavaScript中的私有成员 Douglas Crockford www.crockford.com 翻译:ShiningRay @ Nirvana Studio JavaScript 是世界上最 ...

  9. java中局部变量和成员变量

    java中局部变量和成员变量 1. 定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2. 作业范围不一样 局部变量:只有方法当中才能使用,出了方法就不能再用 成员变量 ...

  10. Java中反射获取成员变量、构造方法、成员方法及类名

    都说反射是框架的灵魂,但是反射到底是啥呢,今天就聊聊反射的基础操作,也是必备操作. 反射机制是在程序运行时,对任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用他的任意一个属性和 ...

最新文章

  1. mysql从某表中查询数据插入到另一表的处理
  2. 做一个成功的网络项目的详细推广流程
  3. 【视频课】一课彻底掌握深度学习图像分类各种问题,学习CV你值得拥有
  4. 阿里云2011.9.17招聘会笔试题
  5. linux_base-f10-10_7 linuxulator is not (kld)loaded
  6. JS之字符串截取函数substr
  7. HTML 5 canvas 基本语法
  8. 云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
  9. LINUX 下 RABBITMQ安装与配置
  10. Mac系统如何使用文件标记功能?
  11. 免疫算法(matlab)
  12. 用php求常见图形的面积,技巧:数学图形面积计算的十种方法!
  13. [docker]dockerfile简介与应用
  14. 谷歌抢注18个“.中国”域名:扫清障碍
  15. 基于Auto.js的淘宝抢购助手+京东双十一活动助手。亲测运行正常!
  16. RAM与ROM的区别
  17. Linux中lvdisplay命令的用法,lvdisplay
  18. 怎么使用PS一键抠图?
  19. 走进互联网0基础秒杀-彭亮-专题视频课程
  20. 【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】

热门文章

  1. html盒子如何左对齐,【图片】怎么才能让盒子里的LI标签在实现的时候左对齐?在线等急!!!!【web前端开发吧】_百度贴吧...
  2. 模拟封装ajax,模拟jQ封装ajax,调用时出现Uncaught ReferenceError: param is
  3. 网络拓扑结构_全球网络拓扑测绘这样来实现
  4. php中js中文传值乱码,php解析JSON中文乱码问题的解决方法
  5. Angr安装与使用之使用篇(四)
  6. springcloud与springcloudalibaba版本对应关系
  7. 密码学基础(五):常见名词解释和密码学标准
  8. netdevice - 底层访问 Linux 网络设备
  9. SSM中 web.xml配置文件
  10. [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展trim,trimLeft,trimRight方法(2)...