include <iostream> //在vc6上用release模式编译(20章);
using namespace std;
float computer::total_price=0;
class computer
{
private:
char *name;
float price;
static float total_price;
public:
computer(const char*chr,const float p)
{
name=new char[strlen(chr)+1];
strcpy(name,chr);
price=p;
total_price+=p;
}
~computer()
{
delete [] name;
total_price-=price; //这句干什么用的,什么意思?
}
static void print_total()
{
cout<<"总价="<<total_price<<endl;
}
static void print(computer& com); //这句干什么用的,什么意思?
};
void computer::print(computer&com)
{
cout<<"名字="<<com.name<<endl;
cout<<"价格="<<com.price<<endl;
}
int main()
{
computer comp1("IBM",7000);
computer::print(com1);
computer::print_total();
computer comp2("ASUA",4999);
computer::print(com2);
computer::print_total();
comp2.computer(); //析构函数不是系统自带的吗,无需人工调用?
computer::print_total();
return 0;
}
名称=IBM
价格=7000
总价:7000
名称=ASUA
价格=4999
总价:11999 这个输出不理解?
总价:7000 这个的输出不理解?