社区
C++ 语言
帖子详情
类的默认成员有哪些?
htqx
2006-12-25 01:12:05
class A
{
}
默认有的函数,大家来统计一下
A() //定义一个有参数的构造函数可以取消这个
A( A const& ) //定义为私有的可以阻止这个接口
A& operator= ( A const& ) //定义私有
欢迎补充改正。
...全文
344
14
打赏
收藏
类的默认成员有哪些?
class A { } 默认有的函数,大家来统计一下 A() //定义一个有参数的构造函数可以取消这个 A( A const& ) //定义为私有的可以阻止这个接口 A& operator= ( A const& ) //定义私有 欢迎补充改正。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
htqx
2006-12-26
打赏
举报
回复
都说不是对象布局结构,而是默认接口了.
htqx
2006-12-26
打赏
举报
回复
谢谢novergone。
这个真是想不到。
lifeisdox
2006-12-26
打赏
举报
回复
this指针是默认的吧,指向对象首地址。^_^
doudouHuY
2006-12-26
打赏
举报
回复
operator &
OOPhaisky
2006-12-26
打赏
举报
回复
补充:即使被使用到了,如果这些函数是trivial的,那么也不会有定义被合成出来,我们只是可以在逻辑上认为有这么一个定义。
v2002750
2006-12-25
打赏
举报
回复
有默认成员这个说法吗?
HappyTree
2006-12-25
打赏
举报
回复
这些函数都不是默认的,只有需要的时候编译器才会添加的
class A
{
}
这样应该是没有默认成员的,编译器最多会加一个char成员,但不可访问,求该类的size为1
nevergone
2006-12-25
打赏
举报
回复
还有重载地址运算符
OOPhaisky
2006-12-25
打赏
举报
回复
HappyTree(天行健,君子以自强不息) 说得对,这些成员都是“在被使用到时”,其定义才被合成出来,如果没有被使用到,就不会有定义。
sanife
2006-12-25
打赏
举报
回复
应该还有析构函数吧???
~~~~
~A()
ivenher
2006-12-25
打赏
举报
回复
mark
htqx
2006-12-25
打赏
举报
回复
vptr这个不是语言范畴的吧。具体实现和设计接口没什么冲突。
caocheng8230
2006-12-25
打赏
举报
回复
如果当中有虚函数的话还有_vptr这个指向虚函数首地址的指针
htqx
2006-12-25
打赏
举报
回复
设计接口的时候就要考虑到这种情况.
零基础Java入门课程-
类
和对象
该课程由付强老师主讲,系统的、全面的、具体的讲解了java入门的知识。可以使初级的学员入门。Java入门Java的历史、Java的版本、Java的优势、软件行业前景Java开发环境搭建、编写Java入门练习虚拟机的运行机制、Java的平台无关性、虚拟机垃圾回收机制基础语法关键字、标识符、Java数据
类
型分
类
、基础数据
类
型、取值范围变量、常量、三种注释、生成doc文档、运算符、表达式if语句、switch语句、嵌套判断for语句、while语句、do-while语句、嵌套循环
类
和对象面向过程和面向对象的区别
类
的构成、访问修饰符、对象的内存分配this关键字、按值传递与按引用传递、对象的初始化顺序高级
类
特性
类
的继承、父子
类
的初始化顺序、单继承性方法的覆盖、重载、super关键字、多态、instanceof关键字、强制
类
型转换、static关键字、final关键字数组和枚举一维数组的应用及内存分配多维数组的应用及内存分配数组的复制、数组的按引用传递排序算法:冒泡、直接选择、插入选择、希尔、快速、归并、堆排序Arrays工具
类
的应用枚举
类
型的应用常见
类
的使用Object
类
的底层及应用、Objects
类
String
类
的底层及应用、正则表达式StringBuffer和StringBuilder的底层及应用Math
类
的应用、包装
类
的应用日期
类
的应用:Date、DateFormat、Calendar、LocalDateTime、Instant、LocalDate、MonthDay、ZonedDateTime、YearMonth、新旧日期转换BigInteger和BingDecimal、DecimalFormatSystem
类
、Scanner
类
抽象
类
和接口抽象
类
的规则及应用接口的规则及应用
默认
方法、静态方法、函数式接口、Lambda表达式异常异常的定义异常的处理:抓(try-catch-finally)、抛(throws)异常的分
类
、自定义异常的应用、throw关键字集合框架集合框架结构:接口、实现
类
Collection接口的方法、Set接口的方法、List接口的方法、Map接口的方法Array、Linked、Hash、Tree底层实现原理泛型的作用、Collections工具
类
、历史集合
类
I/O流Path
类
的原理及应用、Files
类
的原理及应用文件字节流FileInputStream的原理及应用对象
类
、缓冲流、数据流的原理及应用字符流的原理及应用多线程进程与线程的概念、查看线程对象Java内存模型线程的创建与启动:扩展Thread
类
、实现Runnable接口、实现Callable接口、线程池线程状态的转换:新建、就绪、运行、阻塞、死亡线程的调度:sleep、yield、join、interrupt、wait后台线程、定时任务线程的并发与同步、同步锁、同步块、线程安全的
类
Lock接口、CAS、volatile修饰符内部
类
成员
内部
类
、本地内部
类
的应用匿名内部
类
的原理及引用、Lambda表达式设计模式基础设计模式概念、框架概念7大设计原则:开闭原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特原则、里氏替换原则、合成复用原则单例模式、工厂模式、模板模式、代理模式、装饰模式、适配器模式、外观模式、策略模式、观察者模式、命令模式、备忘录模式、观察者模式反射反射包Class
类
的使用反射获取
类
属性、方法、构造器通过反射创建
类
对象/通过反射调用方法反射的应用
类
的
默认
成员
函数
类
默认
生成的
成员
函数有六个,它们分别是:构造函数、拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载。 一、构造函数 1、什么是构造函数? 初始化对象,有且仅在定义一个对象时自动执行一次的函数,就称为构造函数。据悉:
类
的数据
成员
是不能在声明
类
的时候初始化的,因为
类
并不是一个实体,而是一种抽象的数据
类
型,并不占据存储空间。 2、构造函数的特性 (1)...
C++—
类
中的6个
默认
成员
类
中的
默认
成员
C++这门语言中,面向对象可谓是极其重要的,而
类
又是面向对象的核心,但是每个
类
在出生时, 他们都是有6个
默认
的
成员
的,他们分别为: 那么这些
默认
函数是如何调用的呢? 隐含的this指针 1.每个
成员
函数都有一个指针形参,它的名字是固定的,称为this指针,this指针是隐式的。 (构造函数比较特殊,没有这个隐含this
C++空
类
默认
有哪些
成员
函数?
实际上,C++的一个空
类
并不会
默认
产生任何
成员
函数,只有在调用的时候根据编译器的需要生成。 class A{ }; A a; //编译器会生成
默认
构造函数,实际上
默认
构造函数所做的事就是为这个实例添加一个字节的数据class A{ }; A a1; A a2(a1);//编译器会生成拷贝构造函数,实际上拷贝构造函数所做的事就是把a1中的数据(一个char
类
型)拷贝到a2中去 然而
c++
类
的6个
默认
成员
函数
文章目录:
类
的6个
默认
成员
函数构造函数
类
的6个
默认
成员
函数 ✈️
类
的6个
默认
成员
函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const修饰的取地址操作符重载。 class Date {};//空
类
如果一个
类
什么
成员
变量以及函数都没有,那么这就是一个空
类
。但是空
类
中并不是什么都没有,任何一个
类
在我们不写的情况下,都会自动生6个
默认
成员
函数。 构造函数 在c++中,有一种特殊的
成员
函数,它的名字和
类
名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创
C++ 语言
64,661
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章