您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

c++中的构造函数学习总结(一)

2020/6/10 2:13:18发布203次查看

接下来我们先来写头文件intarray.h,数组类就包含在里面:
#ifndef _intarray_h_
#define _intarray_h_
class intarray

private:
int m_length;
int* m_pointer;
public:
intarray(int len);
int length();
bool get(int index, int& value);
bool set(int index ,int value);
void free();
};
#endif
然后接下来写intarray.cpp,也就是类的方法具体实现了:
#include "intarray.h"
intarray::intarray(int len)

m_pointer = new int[len];
for(int i=0; i<len; i++)

m_pointer[i] = 0;

m_length = len;

int intarray::length()

return m_length;

bool intarray::get(int index, int& value)

bool ret = (0 <= index) && (index < length());
if( ret )

value = m_pointer[index];

return ret;

bool intarray::set(int index, int value)

   bool ret = (0 <= index) && (index < length());
if( ret )

m_pointer[index] = value;

return ret;

void intarray::free()

delete[]m_pointer;

最后就在main中来创建对象,来实现所需功能:
#include <stdio.h>
#include "intarray.h"
int main()

intarray a(5);
for(int i=0; i<a.length(); i++)

a.set(i, i + 1);

for(int i=0; i<a.length(); i++)

int value = 0;
if( a.get(i, value) )

printf("a[%d] = %d", i, value);


a.free();
return 0;

最终演示结果:
root@txp-virtual-machine:/home/txp/c++# ./a.out
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
a[4] = 5
小结:
——构造函数可以根据需要定义参数
——构造函数之间可以存在重载关系
——构造函数遵循c++中重载函数的规则
——对象定义时会触发构造函数的调用
——在一些情况下可以手动调用构造函数
四、总结:
通过上面的学习,我们大概对构造函数的使用有了一个比较清楚的认识,不过要掌握的更加牢靠,还是通过更多的动手练习哦!。

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product