自引用指针this的使用,不会,求教啊!!!

发布时间:2024-04-29 19:34 发布:上海旅游网

问题描述:

#include"iostream.h"
#include"string.h"
class Stock
{
public:
Stock(int D,double M,double N,double O,double C);
~Stock();
void setStock(int D,double M,double N,double O,double C);
void showStock();
void showcount();
private:
int Date;
float Max;
float Min;
float Open;
float Close;
static int count;
};
Stock::Stock(int D,double M,double N,double O,double C)
{
Date=D;
Max=M;
Min=N;
Open=O;
Close=C;
++count;
}
Stock::~Stock()
{}
void Stock::setStock(int D,double M,double N,double O,double C)
{
Date=D;
Max=M;
Min=N;
Open=O;
Close=C;
}
void Stock::showStock()
{
cout<<"\n交易日序号:"<<Date<<"\n当天最高价:"<<Max<<"\n当天最低价:"<<Min<<"\n当天开盘价:"<<Open<<"\n当天收盘价:"<<Close<<endl;
}
void Stock::showcount()
{
cout<<"\n当前股票数量:"<<count<<endl;
}

int Stock::count=0;

void main()
{
Stock stock1(20070409,19.86,18.66,19.42,18.74);
cout<<"光明乳业";
stock1.showStock();
stock1.showcount();
Stock stock2(20070409,6.82,6.44,6.51,6.58);
cout<<"\n中国联通";
stock2.showStock();
stock2.showcount();
}

小弟对自引用指针this不是很理解,上面是我编的,还有个题目的要求是(设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用,使用this指针避免对自己赋值,在主函数中用Assign_stock赋值的对象)

问题解答:

根据我的理解,this 指针就是该类的别名,为了在成员函数中不引起歧义使的

class Stock{
int a;
int b;
public:
int init(int a, int b);
};
int Stock::init(int a, int b)
{
//如果想把参数a,b赋值给私有的a,b 是不是a=a,b=b呢?
//当然不行
this->a=a;
this->b=b
}
我自己编了个,看看吧
#include <iostream.h>
#include <iomanip.h>
class nClass {
int a,b,c;
float d,e,f;
public:
inline void init(int a1,int
inline void prData();
inline nClass operator+(cons
};
void nClass::prData()
{
printf("%d\n%d\n%d\n%f\n%f\n
}
void nClass::init(int a,int b
this-> a=a;
this-> b=b;
this-> c=c;
this-> d=d;
this-> e=e;
this-> f=f;
}
nClass nClass:: operator+(con
{
nClass tt;
tt.a=a+rightAgr.a;
tt.b=b+rightAgr.b;
tt.c=c+rightAgr.c;
tt.d=d+rightAgr.d;
tt.e=e+rightAgr.e;
tt.f=f+rightAgr.f;
return tt;
}
main()
{
nClass aa,bb,cc;
aa.init(1,2,3,4.4,5.5,6.6);
bb.init(1,2,3,4.4,5.5,6.6);
cc=aa+bb;
cc.prData();
}

热点新闻