类和对象总结

个人主页:仍有未知等待探索-CSDN博客

专题分栏:C++

                                                请多多指教!

目录

一、如果函数在一个.h文件里面声明和定义,在多个.cpp文件里面包含其头文件时,会报链接错误。

解决方式 

1、声明定义分离

2、使用内联函数

3、使用static修饰,改变其链接属性(static修饰之后,仅在当前文件可用)

二、成员函数存储 

三、空类的大小

原因

四、内联函数不能声明定义分离 

原因

五、this指针


  • 成员变量在类中只是声明
  • 定义的标志是开空间
  • C++自定义类型传值传参,会调用拷贝构造。

一、如果函数在一个.h文件里面声明和定义,在多个.cpp文件里面包含其头文件时,会报链接错误。


解决方式 

1、声明定义分离

2、使用内联函数

3、使用static修饰,改变其链接属性(static修饰之后,仅在当前文件可用)

二、成员函数存储 

成员函数存储在代码段中,而不是对象中。

三、空类的大小

 空类的大小为1个字节。


原因

占位,标识对象实例化时定义出来存在过。

四、内联函数不能声明定义分离 

原因

内联函数在编译阶段就会在调用的地方进行展开(没有函数的地址),如果把声明定义分离,则无法链接或者是找不到链接(有符号表,但是对应的符号没有地址,无法解析)。

五、this指针

1、this指针不能显示写。

2、函数内部可以用this指针。

六、const

const修饰变量,其存储位置

i, j p均存在栈上,而p所指向的字符串在常量区


经典的权限放大

a+x表达式的返回值是临时对象,临时对象具有常性

相关推荐

  1. python对象

    2024-04-09 07:16:03       73 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 07:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 07:16:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 07:16:03       82 阅读
  4. Python语言-面向对象

    2024-04-09 07:16:03       91 阅读

热门阅读

  1. Prime Ring Problem(UVA 524)

    2024-04-09 07:16:03       37 阅读
  2. 在mac环境下使用shell脚本实现tree命令

    2024-04-09 07:16:03       36 阅读
  3. 【远程桌面】Microsoft Remote Desktop 4 mac

    2024-04-09 07:16:03       37 阅读
  4. TypeScript尚硅谷学习

    2024-04-09 07:16:03       29 阅读
  5. Spring Boot整合MyBatis-Plus以及实现分页

    2024-04-09 07:16:03       35 阅读
  6. vue 双向绑定

    2024-04-09 07:16:03       36 阅读
  7. opencv+python文本绘制

    2024-04-09 07:16:03       30 阅读
  8. C# 字符串和枚举类型互相转换

    2024-04-09 07:16:03       29 阅读
  9. 短波成像的特点和行业应用

    2024-04-09 07:16:03       29 阅读
  10. 【Linux】重定向与管道(十)

    2024-04-09 07:16:03       34 阅读