求助刚学operator
  • 板块学术版
  • 楼主_8008008
  • 当前回复2
  • 已保存回复3
  • 发布时间2023/11/26 11:55
  • 上次更新2023/11/26 14:25:15
查看原帖
求助刚学operator
803885
_8008008楼主2023/11/26 11:55
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
class cstr{
	private:
		vector<char>a;
	public:
		void reserve(int num){
			a.reserve(num);
		}
		void push_back(char num){
			a.push_back(num);
		}
		int size(){
			return a.size();
		}
  		cstr&operator=(cstr&rhs){
			if(this==&rhs)return*this;
			this->reserve(rhs.size()+10); 
	 	   	this->a=rhs.a;
    		return *this;
		}
		cstr&operator=(char*v){
			int lena=this->size(),lenv=strlen(v);
			this->reserve(lenv);
			for(int i=lena;i<=lenv;i++)this->push_back('\0');
			for(int i=0;i<lenv;i++)this->a[i]=v[i];
			return *this;
		}
};
cstr a="114514";
int main(){
} 
[Error] conversion from 'const char [7]' to non-scalar type 'cstr' requested}
2023/11/26 11:55
加载中...