//myvector.h
#pragma once
template<class T>
class myvector
{
public:
myvector();
~myvector();
void push_back(T t);
T* find(T t);
void show();
void change(T* pos, T t);
void del(T t);
void insert(int pos,T t);
T operator [](int i);
public:
T* p;
int n;
int reallen;
};
//myvector.cpp
#include "myvector.h"
#include <iostream>
using namespace std;
/*
myvector();
~myvector();
void push_back(T t);
T *find(T t);
void show();
void change(T *pos, T t);
void del(T t);
void insert(T *pos,T t);
*/
template<class T>
myvector<T>::myvector()
{
p = nullptr;
n = reallen = 0;
}
template<class T>
myvector<T>::~myvector()
{
if (p != nullptr)
{
delete[]p;
n = reallen = 0;
}
}
//从尾部插入数据
template<class T>
void myvector<T>::push_back(T t)
{
if (p == nullptr)
{
p = new T;
*p = t;
n = reallen = 1;
}
else
{
T* ptemp = new T[n + 1];
C++学习总结——vector容器的实现
最新推荐文章于 2022-04-08 14:04:56 发布