随笔分类 -  C++

一些比较重要的知识,还有一些书写代码时遇到的问题
摘要:C++中的struct对C中的struct进行了扩充,不再只是一个包含不同数据类型的数据结构 struct可包含成员函数、可继承、可实现多态 那么struct与class有什么区别呢 在C++中 struct和class唯一的区别就在于 默认的访问权限不同 struct 默认权限为公共 class 阅读全文
posted @ 2021-06-24 10:47 清水石头 阅读(286) 评论(0) 推荐(0)
摘要:概念: 两个派生类继承同一个基类 又有某个类同时继承者两个派生类 这种继承被称为菱形继承,或者钻石继承 class Animal { public: int m_Age; }; //继承前加virtual关键字后,变为虚继承 //此时公共的父类Animal称为虚基类 class Sheep : vi 阅读全文
posted @ 2021-06-24 10:32 清水石头 阅读(120) 评论(0) 推荐(0)
摘要:默认的拷贝构造函数仅仅是进行数据赋值,并不能为指针开辟内存空间 那么本质上就是两个指针指向同一处空间 当程序结束时,两个对象回收调用自己的析构函数,释放这块内存空间,由于两个对象要调用两次(即delete两次),就会出现错误! 所以,当类中有指针类型时,依靠默认的拷贝构造函数的方法,已经无法满足我们 阅读全文
posted @ 2021-06-24 10:19 清水石头 阅读(195) 评论(0) 推荐(0)
摘要:构造函数和析构函数 对象的初始化和清理是两个非常重要的安全问题 一个对象或者变量没有初始状态,对其使用后果是未知 同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题 c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。 对象的初始化和清 阅读全文
posted @ 2021-06-24 10:06 清水石头 阅读(89) 评论(0) 推荐(0)
摘要:引用的基本使用 作用: 给变量起别名(类似给人起小名,如:张三 小名叫小三 ) 语法: 数据类型 &别名 = 原名 1 int main() { 2 3 int a = 10; 4 int &b = a; 5 6 cout << "a = " << a << endl; 7 cout << "b = 阅读全文
posted @ 2021-06-24 09:47 清水石头 阅读(154) 评论(0) 推荐(0)
摘要:概述: C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区 阅读全文
posted @ 2021-06-24 09:25 清水石头 阅读(125) 评论(0) 推荐(0)