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是就出错了,请问如何改写,希望能讲解一下 展开
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是就出错了,请问如何改写,希望能讲解一下 展开
展开全部
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);
这个就是运算符逗<<地的重载函数,就是你的类可以直接调用<<这个方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询