c++在一个类里面定义了一个Vector要素,怎么实现Vector的clear和push_back 20

比如定义一个类typedefvector<int>VECTORINT;classA{private:inta;VECTORINT*aa=newVECTORINT;publ... 比如定义一个类
typedef vector<int> VECTORINT;
class A
{
private:
int a;
VECTORINT* aa = new VECTORINT;

public:
void insert(int i)
{
aa ->push_back(i);
}
void clear()
{
aa->clear();
}
};
这样在进行insert和clear是就出错了,请问如何改写,希望能讲解一下
展开
 我来答
l5...2@33sn.cc
2017-04-10 · 超过55用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:35.8万
展开全部

Vector(double _a,double _b,double _c):a(_a),b(_b),c(_c){}
这是初始化带参构造函数的简写方式,你也可以这样子写(两者是等价的)

Vector::Vector(double _a,double _b,double _c)
{
    a = _a; b = _b; c = _c
}

但推荐简写的模式(学名叫成员初始化列表),当你这个类是另一个类的成员的时候,因为你已经有一个有参的构造函数,程序不会给你创建无参构造函数,导致在另一个类中无法创建一个实例,所以最好使用成员初始化列表来初始化构造函数。
第二个同理


friend ostream& operator <<(ostream& output,Vector &A);
这个就是运算符逗<<地的重载函数,就是你的类可以直接调用<<这个方法

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式