当前位置: 首页 > news >正文

题库网站建设视频 播放网站怎么做的

题库网站建设,视频 播放网站怎么做的,怎样查看网站点击量,上海网站建设沪icp备目录 1.类的默认成员函数 2.构造函数 1.全缺省构造函数 2.第7点中的对自定义类型的成员变量构造#xff08;调用编译器自动生成的默认构造函数#xff09; 3.析构函数 4.拷贝构造函数 5.运算符重载 1.概念 2.赋值运算符重载 6.const成员函数 1.类的默认成员函数 默…目录 1.类的默认成员函数 2.构造函数 1.全缺省构造函数 2.第7点中的对自定义类型的成员变量构造调用编译器自动生成的默认构造函数 3.析构函数 4.拷贝构造函数 5.运算符重载 1.概念 2.赋值运算符重载 6.const成员函数 1.类的默认成员函数 默认成员函数就是用户没有显式实现编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类我们不写的情况下编译器会默认⽣成以下6个默认成员函数需要注意的是这6个中最重要的是前4个最后两个取地址重载不重要我们稍微了解⼀下即可。 2.构造函数 构造函数是特殊的成员函数它的作用是初始化对象。构造函数的本质是要替代我们以前Date类中写的Init函数的功能构造函数自动调用的特点就完美的替代了Init。 1.全缺省构造函数 由于全缺省的构造函数适用面更广所以我们写个全缺省的构造函数。 class Date {public:Date(int year2024,int month9,int day15){_year year;_month month;_day day;}void Print(){cout _year / _month / _day endl;}private:int _year;int _month;int _day; }; Date d1; d1.Print(); 结果 通过结果我们可以看出d1这个对象在定义时就已经初始化完成了而它的初始化就是由我们所写的构造函数来完成的。 2.第7点中的对自定义类型的成员变量构造调用编译器自动生成的默认构造函数 typedef int STDataType; class Stack { public:Stack(int n 4){_a (STDataType*)malloc(sizeof(STDataType) * n);_capacity n;_top 0;} private:STDataType* _a;int _capacity;int _top; };// 两个Stack实现队列 class MyQueue { public://编译器默认⽣成MyQueue的构造函数调⽤了Stack的构造完成了两个成员的初始化 private:Stack pushst;Stack popst; }; 从上图中我们可以看出在我们用队列这个类创建对象之后它是调用了栈那个类中的默认构造函数因为我在队列的类中并没有写构造函数调用的是编译器的默认构造函数而编译器在队列中的默认构造函数就是调用了栈这个类的默认构造函数如果栈中没有默认构造函数编译器会报错下面举个例子。 例如假设我把上面的代码中的默认构造函数改成普通的构造函数的话此时栈这个类中是没有默认构造函数的故队列在创建对象时会报错。 3.析构函数 typedef int STDataType; class Stack { public:Stack(int n 4){_a (STDataType*)malloc(sizeof(STDataType) * n);_capacity n;_top 0;}~Stack(){cout ~Stack() endl;free(_a);_a nullptr;_top _capacity 0;} private:STDataType* _a;int _capacity;int _top; };// 两个Stack实现队列 class MyQueue { public://编译器默认⽣成MyQueue的构造函数调⽤了Stack的构造完成了两个成员的初始化 private:Stack pushst;Stack popst; };void test1() {MyQueue q1;} 从test1函数的运行结果可以得知为了实现队列中的两个栈已经被析构函数释放了。而队列的析构函数调用的是编译器的默认析构函数而这个默认析构函数则就是栈的析构函数。 注意可以认为析构函数就是为了释放动态申请的空间而销毁的时间则是在对象销毁时动态申请的空间自动调用析构函数进行销毁。 4.拷贝构造函数 下图是对拷贝构造函数为什么不能传值而是要传引用的原因传值传参和传值返回都要调用拷贝构造函数 //拷贝构造函数 Stack(const Stack st) {// 需要对_a指向资源创建同样⼤的资源再拷⻉值 _a (STDataType*)malloc(sizeof(STDataType) * st._capacity);memcpy(_a, st._a, sizeof(STDataType) * st._top);_top st._top;_capacity st._capacity; } //运用拷贝构造 Stack st2 st1; //or Stack st2(st1); #includeiostream #includestdlib.h using namespace std; typedef int STDataType; class Stack { public:Stack(int n 4){_a (STDataType*)malloc(sizeof(STDataType) * n);_capacity n;_top 0;}//拷贝构造函数Stack(const Stack st){// 需要对_a指向资源创建同样⼤的资源再拷⻉值 _a (STDataType*)malloc(sizeof(STDataType) * st._capacity);memcpy(_a, st._a, sizeof(STDataType) * st._top);_top st._top;_capacity st._capacity;}void Push(STDataType x){if (_top _capacity){int newcapacity _capacity * 2;STDataType* tmp (STDataType*)realloc(_a, newcapacity *sizeof(STDataType));_a tmp;_capacity newcapacity;}_a[_top] x;}~Stack(){cout ~Stack() endl;free(_a);_a nullptr;_top _capacity 0;} private:STDataType* _a;int _capacity;int _top; }; // 两个Stack实现队列 class MyQueue { public: private:Stack pushst;Stack popst; }; int main() {Stack st1;st1.Push(1);st1.Push(2);// Stack不显⽰实现拷⻉构造⽤⾃动⽣成的拷⻉构造完成浅拷⻉ // 会导致st1和st2⾥⾯的_a指针指向同⼀块资源析构时会析构两次程序崩溃 Stack st2 st1;MyQueue mq1;// MyQueue⾃动⽣成的拷⻉构造会⾃动调⽤Stack拷⻉构造完成pushst/popst // 的拷⻉只要Stack拷⻉构造⾃⼰实现了深拷⻉他就没问题 MyQueue mq2 mq1;return 0; } 5.运算符重载 1.概念 //类里定义的两个函数 Date operator() {cout 前置 endl;//...return *this; } Date operator(int) {Date tmp;cout 后置 endl;//...return tmp; } 2.赋值运算符重载 Stack operator(Stack st) {_a (STDataType*)malloc(sizeof(STDataType) * st._capacity);memcpy(_a, st._a, sizeof(STDataType) * st._top);_top st._top;_capacity st._capacity;return (*this); } //赋值运算符重载 d1d3;//拷贝构造 Date d1d2; Date d1(d2); 6.const成员函数 void Print() const{cout _year / _month / _day endl;}
http://www.hkea.cn/news/14269012/

相关文章:

  • app和网站哪个有优势商城网站建设价位
  • python django 做 网站中山网站制
  • 5ucms怎样做网站自适应莱芜有需要制作网站的公司吗
  • 郑州百度网站推广黄志达设计公司官网
  • 哪些作弊网站网站开发女
  • 电子商务网站的开发方式有哪三种女子医院网站设计怎么做
  • 网站建设流程表百度站长工具
  • 5118站长工具箱it培训学校it培训机构
  • 网站建设状态栏网站设计与建设的
  • asp网站生成静态柳州企业网站制作哪家好
  • 制作网站的知识wordpress搬家后打不开网页
  • 微信授权登录网站退出怎么做上海缘震网络科技有限公司
  • 大型商家进驻网站开发wordpress主题代码编辑教程
  • 网站产品页如何做优化怎么免费建个人网站
  • 中力建设网站北京网站建设 和君
  • 网站htm建设网页制作的模板代码
  • 建设网站如何赢利泰州建设网站
  • 深圳网站设计服务公教你做企业网站
  • 开发网站企业wordpress默认用户头像
  • 网站建设费用贵不贵常州企业网页制作
  • asp.net网站项目建设wordpress添加播放器代码
  • 高端的网站设计制作wordpress有微信插件
  • 小说阅读网站开发设计襄阳网站建设培训
  • 网站模板的缺点全球设计网分站
  • 上海外贸博览会湖南企业竞价优化首选
  • 安福相册网站怎么做的h5视频直播
  • 聊城专业网站建设公司哪家好培训教育的网站怎么做
  • 网站建设鑫科技河北建设工程信息网查看
  • 营销型网站建设风格设定包括哪些方面网络优化概念
  • 网站建设服务公司宣传语言有没有免费注册的网站