C++面试考点总结,堪称BAT经典!

506 篇文章 13 订阅
465 篇文章 36 订阅

 

C++语言基础知识

  • sizeof作用:
  • sizeof空类型,返回值为1。 原因:声明空类型时,必须在内存中占一定的空间,否则无法使用这些实例。占用多少内存,由编译器决定,Visual Studio中,空类型的实例占1字节的空间。
  • 构造函数和析构函数的sizof均为1 原因无返回值,相当于是空类型
  • 其余函数的sizeof 根据的是它的返回值
  • 虚函数:相当于指向虚函数表的指针,32位的话 ,一个指针占4字节,64位的话,指针占8字节。
  • 赋值运算符函数:
  • tip:运算符重载:即实现运算符多态的一种方法,修改传统运算符的方式。
  • 格式:
 
return_val operator op(argument -list) 

符号含义:

  • return_val: 返回值,可选,例如重载+ 一般都有返回值, 重载=号 可就没返回值。
  • operator: 重载符号:默认
  • op: 需要重载的符号例如:+ - * /
  • argument-list :重载的参数 例如int+int 那么重载的参数就是int

实例:

 
#include "stdafx.h" class People { public: //构造函数和析构函数 People(); ~People(); public: char walk(); float getCount(); People operator+(const People&op_People);//重载加号运算符 }; 可以看出,头文件中,定义了一个重载+号符号的运算符重载函数 接下来是实现: // SizeofDemo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "SizeofDemo.h" using namespace std; People::People() { cout << "This is a people!" << endl; } People::~People() { } char People::walk() { cout << "sss"<<endl; return 0; } People People::operator+(const People&op_People) { cout << "重载成功" << endl; People mm; mm = op_People; return mm; } float People::getCount() { return 22.6; } int _tmain(int argc, _TCHAR* argv[]) { People * p_People = new People(); cout << sizeof(p_People->walk()) << endl; delete p_People; People cir_dd; People dd; People cir = cir_dd +dd; //测试重载 system("pause"); return 0; } 

运行结果:

 

可以看出 重载成功,实现了+号的多态。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值