2 qq 26766433 qq_26766433 于 2017.09.03 20:05 提问

C++string类对象数组的问题

C++小白,自己学习的时候写的测试代码,运行到abc.push(a)的时候跪了,请问是什么原因
#include
#include
#include
#include

using namespace std;

template
class stack{
private:
int maxSize;
int size;
int top;
type* content;
public:
stack();
bool isEmpty();
bool isFull();
bool push(const type & item);
bool pop(type& item);
virtual ~stack();
};

template
stack::stack(){
top = 0;
size = 0;
maxSize = 10;
type* content = new type10;
}

template
stack::~stack(){
delete [] content;
}

template
bool stack::isEmpty(){
return top == 0;
}

template
bool stack::isFull(){
return top == maxSize;
}

template
bool stack::push(const type& item){
if(this->isFull()){
return false;
}else{
content[top++] = item;
return true;
}
}

template
bool stack::pop(type& item){
if(this->isEmpty()){
return false;
}else{
item = content[--top];
return true;
}
}

int main(void){
stack abc;
string a = "abcdefg";
abc.push(a);
cout << abc.isEmpty() << endl;
cout << abc.isFull() << endl;
return 0;
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c++类对象数组初始化的几种方法
<br />    类对象数组初始化<br />    如有一个如下类:<br />    class EquipmentPiece {<br />    private:<br />        int IDNumber;<br />    public:<br />        EquipmentPiece(int IDNumber) : IDNumber(IDNumber) {};<br />    };<br /> <br />    以下列出几种初始化的方法:<br />    <一>、对象数
C++ 类对象数组
对象数组是指一个数组元素都是对象的数组 创建对象数组的时候只能调用默认构造函数初始化对象
数组在java与C++中的不同
如果你熟悉C/C++,Java数组的工作原理与它们不同。Java中的数组是对象,这就意味着与C++中的数组的根本不同.      1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。数组声明的两种形式:一、int[] arr; 二、int arr[];  推荐使用前者,这是一个int数组对象,而不是一个int原始类型。
char 与 string对象相互转换
string 是c++标准库里面其中一个,封装了对字符串的操作 (1)把string转换为char* 有3中方法: 1.const char *data()const;//返回一个非null终止的c字符数组 如: string str="abc"; char*p=(char*)str.data(); 2.const char *c_str()const;//返回一个以n
char[]数组名与指针,以及字符串数组与string的一些比较
1、数组名sizeof 得到的结果是数组长度+1,因为后面加上‘\0’; 2、string类型在vs2012中占用28个字节,在g++等一般编译器中占用4个字节 3、strlen()得到的就是真正的字符串长度,当然是没算上结束符‘\0’的; 4、s.length()得到的是真正的string字符串长度; 5、什么类型的指针都是占用四个字节,不论是int还是double抑或是什么东东。 6、全局的std::getline返回std::str
byte数组和String之间的相互转换代码
public static String converByteToString(byte[] data) { ByteArrayInputStream byteInput = null; GZIPInputStream gzin = null; ByteArrayOutputStream byteOutput = null; String data = null; byte[]
C++ char数组和string类简单使用总结
使用char数组,进行字符串的操作,是c风格的操作方式。 string是C++的风格,感觉string本质上就是一个vector 以下代码详细展示了字符串的常见操作 #include #include // make string class available //#include // C-style string librar
字符数组、字符串与string类的区别
链接:http://blog.csdn.net/mishifangxiangdefeng/article/details/8025236 1.字符数组、字符串与string类的区别 例1: [cpp] view plaincopy int main()   {       string s;       cin>>s;//输
vector定义类对象
今天想把之前的c代码改成纯c++的,一个问题就是如何动态定义数组 准备采用容器vector,类似数组之类的还好说,但是当我希望定义类类型的vector时就有点儿不知道怎么解决了 经过思考,一个很好的方法就是利用vector的模板特性,直接push一个类类型进去,例如:
C++-类对象成员&&对象数组
#include <iostream> using namespace std;class stuid { int id; public: stuid(int i = 0) { //id = i; cout << "in stuid : " << i << endl; } stuid()