摘要: 默认命名空间默认命名空间又叫全局命名空间。典型的默认命名空间就是main函数,函数或变量没有放在其他的命名空间中,编译器会把它们归类到一起组成一个命名空间。假如a56爆大奖在线娱乐们的程序一个namespace都没有定义,那么所有的变量和函数都在一个空间内。就是a56爆大奖在线娱乐们c中的普通编程。 默认命名空间引用要在一个命名空间内 阅读全文
posted @ 2023-08-01 18:58 jason8826 阅读(8) 评论(0) 推荐(0) 编辑
摘要: typeid 运算符用来获取一个表达式的类型信息。ypeid 会把获取到的类型信息保存到一个 type_info 类型的对象里面,并返回该对象的常引用;当需要具体的类型信息时,可以通过成员函数来提取。 格式如下: typeid(数据类型) 或 typeid(表达式) type_info类的几个成员函 阅读全文
posted @ 2023-07-21 17:21 jason8826 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 想要在基类中定义虚函数实现多态,但是有不希望这个基类可以实例化,可以将虚函数定义为纯虚函数。 格式如下: virtual 返回值类型 函数名() = 0; 例: virtual int fun() = 0; 纯虚函数的特性: 1.包含纯虚函数的类称为抽象类。之a56爆大奖在线娱乐说它抽象,是因为它无法实例化,也就是 阅读全文
posted @ 2023-07-11 14:50 jason8826 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 基类的析构函数为什么要定义为虚函数?基类指针指向派生类对象实现多态,如果基类的析构函数没有定义成虚函数,在删除基类的指针时,只会调用基类析构函数,而不会调用派生类的析构函数,那么派生类的成员就得不到释放,内存释放不完全导致内存泄露。 #include <iostream> using namespa 阅读全文
posted @ 2023-07-11 10:55 jason8826 阅读(11) 评论(0) 推荐(0) 编辑
摘要: C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 一般的用法,就是拿一个父类的指针去调用子类中被重写的方法。 多态的特性:1.必 阅读全文
posted @ 2023-07-03 22:45 jason8826 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 类其实也是a56爆大奖在线娱乐数据类型,也可以发生数据类型转换,不过这种转换只有在基类和派生类之间才有意义,并且只能将派生类赋值给基类。派生类对象赋值给基类对象、将派生类指针赋值给基类指针、将派生类引用赋值给基类引用,这在 C++ 中称为向上转型(Upcasting)。反之,将基类赋值给派生类称为向下转型(Down 阅读全文
posted @ 2023-06-15 11:01 jason8826 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 为了解决多继承时的命名冲突问题,C++ 提出了虚继承。虚继承的目的是让某个类做出声明,承诺愿意共享它的基类。这个被共享的基类就称为虚基类。 虚继承的使用: 格式: 在继承方式前面加上 virtual 关键字就是虚继承 #include <iostream> using namespace std; 阅读全文
posted @ 2023-06-08 15:56 jason8826 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 子类和父类(基类和派生类) 派生的四个步骤:1.继承基类成员:除构造函数与析构函数外全部继承。2.改造基类成员:同名的成员变量和成员函数就会造成覆盖(遮蔽),父类和子类成员函数是不会构成重载的。此时基类的成员仍可以被访问,只要加上类名和域解析符。例:派生类对象.基类名::成员函数;3.发展新成员4. 阅读全文
posted @ 2023-06-06 23:10 jason8826 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 引用 不是新定义一个变量,而 是给已存在变量取了一个别名 ,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 引用的特性:1.在定义时必须初始化,之后不可更改。2.引用不可以为NULL。3.一个变量可以有多个引用。 引用的使用: 格式如下: 类型 &引用变量名 = 引用实体; 阅读全文
posted @ 2023-05-31 15:50 jason8826 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 转载:https://blog.csdn.net/TwoTon/article/details/124475088 引用传递,只是明面上,没有使用值传递,值传递本身是不可避免的。编译器,暗地里通过指针(或者其他可以替代指针的数据类型)的值传递,替换了引用传递。a56爆大奖在线娱乐引用传递,实质上是地址传递,别名这东 阅读全文
posted @ 2023-05-30 19:03 jason8826 阅读(54) 评论(0) 推荐(0) 编辑