C++(笔记)深浅拷贝and静态static基础练习
来源:互联网 发布:大数据与建筑 编辑:程序博客网 时间:2024/06/05 06:49
/* 定义一个Data类,里面包含一个指针型成员变量 int *data,和一个普通成员变量 int x。在类的构造函数里面给 data申请存放100个int 的空间,在析构函数里释放空间。为Data类的data变量设置存取函数。为Data类重新拷贝构造函数。对完成的类进行测试。*/#include <iostream>using namespace std;class Data{ private: int *data; int x; public: Data(){} Data(int _x):x(_x) { data=new int[100]; } Data(Data &p):x(p.x) { data=new int[100]; } ~Data() { delete []data; } public: void setdata(int *q); void getdata();};void Data::setdata(int *q){ data=q;}void Data::getdata(){ for(int i=0;i<4;i++) cout<<*(data+i)<<endl;}int main(){ int w[4]={1,2,3,4}; Data a(2); a.setdata(w); a.getdata(); Data b; b=a; b.getdata(); return 0;}/*定义一个Tank类,使之具有一个无参构造函数、一个带参构造函数和一个拷贝构造函数,此外还有一个名为number(编号,int 型)的成员变量,设置好存取函数。给Tank类添加一个静态成员变量count 用来给Tank对象计数,当有对象生成时计数器加1,对象消亡时计数器减1。添加一个静态成员函数用来获取count变量的值。完成Tank类,并对其进行测试。*/#include <iostream>using namespace std;class Tank{ private: int number; static int count; public: Tank(){} Tank(int number1=0):number(number1) { count++; } Tank(Tank &p):number(p.number) { count++; } ~Tank() { count--; } int getnumber() { return number; } static void showcount() { cout<<"last:"<<count<<endl; }};int Tank::count=0;//静态成员变量一定要初始化,且一定要在类外int main(){ Tank a(5); cout<<a.getnumber()<<endl; Tank::showcount(); //静态成员函数的访问格式 Tank b(a); cout<<b.getnumber()<<endl; Tank::showcount(); return 0;}
- static变量,值变后会保存,而没有static直接int,值变后不会保存,回到原来初始值,这就是static的作用
- 静态(static)注意点:
1.主函数中静态成员函数访问:类名::函数名——所以可以看出静态成员函数不需要对象生成就可以访问
2.静态成员变量一定要初始化,且在类外:int 类名::变量名=0;
3.不提倡用:类名.函数—–因为这样的话和普通成员函数访问方式是一样的,无法看出是static类型。
4 0
- C++(笔记)深浅拷贝and静态static基础练习
- C++(笔记)深浅拷贝and何时调用
- Objective-c 深浅拷贝
- 【C++】 浅析深浅拷贝
- C++String深浅拷贝
- Java 基础一些代码练习笔记(static 静态代码块)
- iOS基础之----深浅拷贝
- Objective-C 深浅拷贝学习
- [解析]Objective-C 深浅拷贝
- C++String深浅拷贝问题
- 浅析Objective-C 深浅拷贝
- c++-----string和深浅拷贝
- OC中的深浅拷贝(深浅复制)
- C++String深浅拷贝、写时拷贝
- 静态Static(C#)
- Java 基础一些代码练习笔记(static 关键字)
- 深浅拷贝(String类)
- JS基础——深浅拷贝
- 通过对i8042 键盘控制器编程控制鼠标
- GridView的特殊属性
- Rocketmq消息队列广播消费测试
- DOS命令介绍
- freertos内核走读1——链表和heap
- C++(笔记)深浅拷贝and静态static基础练习
- 数据压缩作业2
- firfox插件的安装、配置与使用记录和结论
- Rocketmq集群消费测试
- 历届试题 连号区间数 获取关键信息
- 目前常用的加密解密算法
- Largest Rectangle in Histogram & Maximal Rectangle
- keil MDK汇编关系运算符
- 工作流activti使用简单样例