04 c++ 类数据成员的地址和类对象数据成员的地址
2020年10月4日
1,类数据成员和类对象数据成员地址的区别
(1) 类定义是一种类型声明,存在于代码块中,并没有分配内存空间;对类的数据成员取地址,得到的是类的数据成员在类内的相对偏移量;
(2) 类的对象是类的实例化,分配内存空间给实例化对象使用,类的对象的数据成员取地址,得到的是类的对象的数据成员在内存空间的实际地址;
#include <iostream>
#include <cstdio>using namespace std;class A
{public:A(int i,int j, int k){_i = i;_j = j;_k = k;} ~A(){}
public:int _i;int _j;int _k;
};int main(int argc, char *argv[])
{A a(1,2,3);// 类的数据成员取地址是其在类内部的偏移量printf("&A::_i : %p\n", &A::_i);printf("&A::_j : %p\n", &A::_j);printf("&A::_k : %p\n", &A::_k);// 类的对象的数据成员取地址是其在内存空间中的地址printf("&a : %p\n", &a);printf("&a._i : %p\n", &a._i);printf("&a._j : %p\n", &a._j);printf("&a._k : %p\n", &a._k);getchar();return 0;
}
04 c++ 类数据成员的地址和类对象数据成员的地址相关推荐
- python类中定义数据-类数据成员与对象数据成员
类数据成员 python的类数据成员是不需要用self修饰的.例如 class my_class(object):value_list=[1,2]class1=my_class()print(my_c ...
- 【C++面向对象】类的数据成员:绑定、布局和存取
一.数据成员的绑定(The binding of a data member) 先看一段代码: //某个头文件,从某处含入 extern float x;class Point3d { public: ...
- 一个类作为另一个类的数据成员
写程序的时候希望一个类能够访问另一个类的数据成员(protected, private),例如类A要访问类B中的数据成员. 1.保持封装性 可以通过在被访问的类(B)中定义访问权限为public的函数 ...
- c语言类静态数据成员函数,鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)...
鸡啄米在上一讲数据和函数中讲到,函数之间共享数据也就是此函数访问彼函数的数据主要是通过局部变量.全局变量.类的数据成员.类的静态成员及友元实现的,前三个已经讲过了,这一讲鸡啄米来讲讲静态成员.静态成员 ...
- cpp课程设计实验题:定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name)、学号(num)、数学成绩(mathScore)、英语成绩(englishScore)、人数(coun
CPP实验题:定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name).学号(num).数学成绩(mathScore).英语成绩(englishScore).人数(count).数 ...
- 定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积
定义长方体类,数据成员有长.宽.高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5.3.4.2).计算体积函数,分别构造默认对象和长宽高分别为6.25.4.8.5.2的对象,输出各对象的体积 ...
- python面向对象课程大作业 定义一个描述学生基本情况的类,数据成员至少包括 “姓名、性别、学号、年级、所在院系、面向对象的考试日期”
python面向对象课程大作业 按下列要求编写一个完整的程序: 定义一个描述学生基本情况的类,数据成员至少包括"姓名.性别.学号.年级.所在院系.面向对象的考试日期",成员函数至少 ...
- C++实验编程题:.定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name)、学号(num)、数学成绩(mathScore)、英语成绩(englishScore)、人数(count
题目描述: *6.定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name).学号(num).数学成绩(mathScore).英语成绩(englishScore).人数(count) ...
- 类的数据成员与成员函数
一.类的数据成员 1.在类中声明数据成员 1)类的数据成员的声明类似于普通变量的声明.如果 一个类具有多个同一类型的数据成员,则这些成员可以在一个成员声明中指定. 2)类的数据成员可以是基本类型.数组 ...
最新文章
- DDoS CC 攻防
- 自律到极致-人生才精致:第11期
- maven打成jar包后,其他工程导入不进去
- 开始我的Opengl学习之路(rua)
- 2017年10月18日普及组 文件名排序
- R语言实战-统计分析基础-描述性统计4-psych-describe
- java 变成题_Java 习题8 参考答案及解析
- java读写mysql数据库_Java读写MySQL数据库小实例
- swift. 扩展类添加属性_IOS_Swift中用到extension的一些基本的扩展功能讲解,现有的类,结构或枚举类型的 - phpStudy...
- [小工具]取色器gcolor2
- 探针台常见问题—如何减少LHe制冷剂消耗
- python制作日历并保存成excel_[python]获取一年日历数据并写入excel表格中
- 小米为什么造不出芯片
- 一、HTML基础(笔记)
- 数学模型学习——图与网络
- 如何通过电影学英语 English through Movies
- QT半透明图片叠加显示
- \int_0^{+\infty} \frac{\sin x}{x}\mathop{}\!\mathrm{d}{x}
- 架构设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)学习笔记
- Notion-PC最好用的笔记软件
热门文章
- 138 张图带你 MySQL 入门
- 数据库学习笔记第三弹——MySQL常用的图形化管理辅助工具及相关问题(图文详解2022))
- PHP提取富文本中的纯文字
- 计算机科学与工程学院学位,山东科技大学-计算机科学与工程学院
- FPGA信号序列监测工具——VSTAR
- lin通信ldf文件解析_LIN总线开发之LDF文件介绍
- 开源监控服务uptime-kuma
- 42 Three.js高级几何体车床模型THREE.LatheGeometry
- 疑“垄”无据?决定谷歌垄断案的关键问题是……
- 南昌邀请赛网络赛 G. tsy's number(莫比乌斯反演+线性筛)