07 2023 档案
摘要:typeid 运算符用来获取一个表达式的类型信息。ypeid 会把获取到的类型信息保存到一个 type_info 类型的对象里面,并返回该对象的常引用;当需要具体的类型信息时,可以通过成员函数来提取。 格式如下: typeid(数据类型) 或 typeid(表达式) type_info类的几个成员函
阅读全文
摘要:想要在基类中定义虚函数实现多态,但是有不希望这个基类可以实例化,可以将虚函数定义为纯虚函数。 格式如下: virtual 返回值类型 函数名() = 0; 例: virtual int fun() = 0; 纯虚函数的特性: 1.包含纯虚函数的类称为抽象类。之所以说它抽象,是因为它无法实例化,也就是
阅读全文
摘要:基类的析构函数为什么要定义为虚函数?基类指针指向派生类对象实现多态,如果基类的析构函数没有定义成虚函数,在删除基类的指针时,只会调用基类析构函数,而不会调用派生类的析构函数,那么派生类的成员就得不到释放,内存释放不完全导致内存泄露。 #include <iostream> using namespa
阅读全文
摘要:C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 一般的用法,就是拿一个父类的指针去调用子类中被重写的方法。 多态的特性:1.必
阅读全文
浙公网安备 33010602011771号