类与对象的几种问题

本文深入探讨了C++编程中关于类与对象的关键问题,包括函数指针与函数名的区别、结构体与类的特性、调用约定、拷贝构造函数的正确使用、赋值运算符重载注意事项等。同时,还介绍了引用如何延长临时对象的生命周期、explicit关键字的作用、静态成员的定义及使用等高级主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                类与对象的几种问题

1.函数指针和函数名调用函数有什么区别? 
函数指针可以在不确定函数时候放一个函数指针,调用时用到谁指向谁,还有就是inline函数指针是不会处理内敛函数的。
2.c里面struct是不能定义空结构体 而且默认为public,c++中struct和class代表类 空的化占一个字节
3.他们使用_thiscall调用约定,再类外实现函数就成了c调用约定,加上类作用域才能完成。类内是inline函数,在类外不是inline函数。
4.析构函数的编程要写if(name!=NULL){delete }这是为了防止多次析构我们自己无论调用了多少次析构,编译器都会为我们再调用一次。
5.拷贝构造 传const &  如果不这样传值就会造成递归构造。拷贝构造函数对于成员变量有指针的问题一定要记得深拷贝。还有就是我们拷贝构造const除了为了保护变量不被修改意外,还有就是隐式生成对象都是const类型要用常引用引用。否则会报错。
6.赋值运算符重载  自赋值要考虑if(this==src)return;
7.注意逗号表达式。(1,2,3,4)==4
8.引用变量可以提升临时变量的生存周期,CGood &p=CGood(1,ma,5.5);本来结束这个语句就析构了现在他的生存中期跟着引用走。
9.explicit禁止隐式对象生成。
10.static构造函数在main中按顺序来的,只不过生存周期长一些。
11.new开辟对象调用构造函数malloc只是开辟空间。(4种new)delete 调用析构在释放空间。
12.friend class CLink  友元类
13.静态成员 常成员 静态方法 常方法
有static的成员的类建立的对象大小不算static因为在.data上。而且一定要在类外加作用域定义。 void show()const 常方法要常对象调用const加在this最前面 普通对象都可以调用,常对象只能调用常芳法。绝对类型匹配优先调这个方法(加入有常方法普通方法重载)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值