![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++知识点
文章平均质量分 62
c++知识点大全
Liwus1
on the road
展开
-
虚函数为什么不能为构造函数
虚函数的执行依赖于虚函数表,而虚函数表需要在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数表。而在构造对象期间,虚函数表还没有被初始化,将无法进行。 1、构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定是实际类型的。构造一个对象时,由于对象还未构造成功。编译器无法知道对象的实际类型,到底是该类本身,还是该类的一个派生类,或者更深层次的派生类,无法确定。 2、虚函数的执行依赖于虚函数表。而虚函数表在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数原创 2022-06-05 00:36:16 · 195 阅读 · 0 评论 -
c++命名空间、访问修饰符、函数重载、类、构造函数、析构函数,This关键字
命名空间 作用:防止变量或者函数等重名,引起访问不正确(fp重复定义错误) 定义命名空间: namespace xxx { //里面可以包含变量、函数、类、typrdef、#define等。 print(); } 访问方式:(与接续操作符,还可以使用using) 命名空间::函数名() xxx::print() 全局: ::print(); c++输入输出:cin、cout bool类型变量输出:cout<<a<<boolalpha<<endl; - 引用类型: #i原创 2022-04-24 00:48:36 · 127 阅读 · 0 评论