读书人

这个程序是一步步如何 调用而得出结果

发布时间: 2012-03-09 16:54:57 作者: rapoo

这个程序是一步步怎么 调用而得出结果的?
#include <iostream >
#include <string.h >
class Hard
{
protected:
char bodyname[20];
public:
Hard(char* bdnm)
{
cout<<"con H\n";
strcpy(bodyname,bdnm);}
Hard(Hard & abody){
cout<<"copy H\n";
strcpy(bodyname,abody.bodyname);
}
};
class Soft{
protected:
char os[10];
char lang[15];
public:
Soft(char * o,char *lg){
cout<<"conF\n";
strcpy(os,o);
strcpy(lang,lg);
}
};
class System:public Hard,public Soft{
char owner[10];
public:
System(char * ow,char * bn,char * o,char * lg):Hard(bn),Soft(o,lg)
{
cout<<"con S\n";
strcpy(owner,ow);
}
System(Hard abody,Soft asoft,char * ow):Hard(abody),Soft(asoft){
cout<<"copy S\n";
strpy(owner,ow);}
void print(){
cout<<"owner:"<<owner;
cout<<";\n hard:" <<bodyname;
cout<<"\n soft:"<<"," <<lang<<endl;
}
};
void main(){
System bsystem("Wang","IBM PC","PC DOS","True BASEC");
bsystem.print();
cout<<"OK!\n";
Hard abody("AST 386 sx/16");
Soft asoft("PC DOS","Borland C++");
System asystem("AST 386/16",asoft,"Zhang");
asystem.print();
}
//结果为:
con H
con F
con S
owner:Wang;
hard:IBM PC;
soft: ;C DOS,True BASIC
Ok!
con H
con F
con F
CON H
copy H
copy F
copy S
owner:Zhang;
hard:AST 386sx/16;
soft:PC DOS,Borland C++


[解决办法]
为什么不找个调试工具一步步跟踪察看。。。
[解决办法]
在程序第一行下个断点,单步执行查看
[解决办法]
就是这样的调用的啊 先调用他继承类的构造函数 在调用自己的构造函数

读书人网 >C++

热点推荐