2022年5月22日记:Linux服务器开发,面试准备知识点

────────────────────────────────────
推荐一个 零声学院 免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习]
后台服务器:https://course.0voice.com/v1/course/intro?courseId=5&agentId=0
────────────────────────────────────

  • 1、父类指针子类对象,无法调用子类成员函数。父类指针想调用子类的函数,那就要加上virtual。

  • 2、动态绑定的概念,只有在程序运行时才知道调用的是哪个函数,取决new的是谁。

  • 3、多态性:查虚函数表,动态绑定。

  • 4、纯虚函数在基类中没有定义,但是要求子类必须重写纯虚函数。

  • 5、父类指针子类对象,虚析构如果不是虚函数,不调用子类的析构函数,导致内存泄漏。如果是虚函数就解决了这个问题。

  • 6、普通类可以不写析构函数,但是如果做基类就必须是虚析构。

  • 7、类C想修改类A,就要在类A中定义类C为友元类。friend class C;想让谁访问就在本类中写下访问白名单。

  • 8、friend void C::callCAF(int x,A &a);在A类中写下本行代码,友元成员函数。

  • 9、Human *phuman=new Men;Men *pmen=(dynamic_cast<Men *>(phuman));必须有虚函数。

  • 10、class A final{}; 不做基类的类用final关键字。

  • 11、std::move()将一个左值强制转为右值,没有移动的语义。

string str{"i love china"};
string &str1{str};
//string &str2{"i love china "};
const string & str3{"i love china"};
string &&str4{"i love china "};
  • 14、operator int() const k可以用static_cast(test)强制类型转化为对应的类型,这个技能值得拥有。

  • 15、using C++2.0定义函数指针新用法

typedef  void(* point)(int );
using point=void(* )(int );
operator point()
{
	retrun func;
}
  • 16、普通类成员指针的形式:
void (CT::*name)(int);
name=&CT::ptfunc;
CT ct,*pct;
pct=&ct;
(ct.*name)(15);
(pct->*name)(16);
int CT::*mp=&CT::m_a;

成员函数属于类,只要有类在就有成员函数在。如果要使用就要有类对象。

总结

通过本节的归纳,已经对面试经常问到的问题做了整理,希望大家都能从容不迫的应对面试笔试咯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屯门山鸡叫我小鸡

加油

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值