C++的小发现 请大家帮忙看看 对么 书本和实践是有差距的
2013-04-09 09:47
316 查看
//2. 定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,
//有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,
//cdrom为CDROM类的一个对象,定义并实现这个类。
#include<iostream>
using namespace std;
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};
class CPU
{
public:
CPU(CPU_Rank x,int y,float z)
{
rank=x;
frequency=y;
voltage=z;
cout<<"cpu create"<<endl;
}
CPU(CPU &c);
~CPU(){cout<<"cpu reset"<<endl;}
private:
CPU_Rank rank;
int frequency;
float voltage;
};
CPU::CPU(CPU &c)
{
rank=c.rank;
frequency=c.frequency;
voltage=c.voltage;
cout<<"cpu copy"<<endl;
}
class RAM
{
public:
RAM(int x=1)
{
ram=x;
cout<<"ram create"<<endl;
}
RAM(RAM &r);
~RAM(){cout<<"RAM reset"<<endl;}
private:
int ram;
};
RAM::RAM(RAM &r)
{
ram=r.ram;
cout<<"ram copy"<<endl;
}
class CDROM
{
public:
CDROM(int m)
{
cdrom=m;
cout<<"CD create "<<endl;
}
CDROM(CDROM &d);
~CDROM (){cout<<"CD reset"<<endl;}
private:
int cdrom;
};
CDROM::CDROM(CDROM &d)
{
cdrom=d.cdrom;
cout<<"cdrom copy"<<endl;o
}
class Computer
{
public:
Computer(CPU x,RAM y,CDROM z);
Computer(Computer &p);
~Computer(){cout<<"computer reset"<<endl;}
private:
CPU cpu;
RAM ram;
CDROM cdrom;
};
Computer::Computer(CPU x,RAM y,CDROM z):cpu(x),ram(y),cdrom(z)
{
cout<<"Computer create1"<<endl;
}
Computer::Computer(Computer &p):cpu(p.cpu),ram(p.ram),cdrom(p.cdrom)
{
cout<<"computer copy"<<endl;
}
int main (void)
{
CPU a(P1,2,3);
RAM b(3);
CDROM c(4);
Computer d(a,b,c);
Computer e(d);
return 0;
}
//书上讲的 调用内嵌对象的构造函数,调用顺序和定义的时候一样, 可是结果相反。
大家帮忙看看 我猜想是因为栈空间的影响 求大牛
//有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,
//cdrom为CDROM类的一个对象,定义并实现这个类。
#include<iostream>
using namespace std;
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};
class CPU
{
public:
CPU(CPU_Rank x,int y,float z)
{
rank=x;
frequency=y;
voltage=z;
cout<<"cpu create"<<endl;
}
CPU(CPU &c);
~CPU(){cout<<"cpu reset"<<endl;}
private:
CPU_Rank rank;
int frequency;
float voltage;
};
CPU::CPU(CPU &c)
{
rank=c.rank;
frequency=c.frequency;
voltage=c.voltage;
cout<<"cpu copy"<<endl;
}
class RAM
{
public:
RAM(int x=1)
{
ram=x;
cout<<"ram create"<<endl;
}
RAM(RAM &r);
~RAM(){cout<<"RAM reset"<<endl;}
private:
int ram;
};
RAM::RAM(RAM &r)
{
ram=r.ram;
cout<<"ram copy"<<endl;
}
class CDROM
{
public:
CDROM(int m)
{
cdrom=m;
cout<<"CD create "<<endl;
}
CDROM(CDROM &d);
~CDROM (){cout<<"CD reset"<<endl;}
private:
int cdrom;
};
CDROM::CDROM(CDROM &d)
{
cdrom=d.cdrom;
cout<<"cdrom copy"<<endl;o
}
class Computer
{
public:
Computer(CPU x,RAM y,CDROM z);
Computer(Computer &p);
~Computer(){cout<<"computer reset"<<endl;}
private:
CPU cpu;
RAM ram;
CDROM cdrom;
};
Computer::Computer(CPU x,RAM y,CDROM z):cpu(x),ram(y),cdrom(z)
{
cout<<"Computer create1"<<endl;
}
Computer::Computer(Computer &p):cpu(p.cpu),ram(p.ram),cdrom(p.cdrom)
{
cout<<"computer copy"<<endl;
}
int main (void)
{
CPU a(P1,2,3);
RAM b(3);
CDROM c(4);
Computer d(a,b,c);
Computer e(d);
return 0;
}
//书上讲的 调用内嵌对象的构造函数,调用顺序和定义的时候一样, 可是结果相反。
大家帮忙看看 我猜想是因为栈空间的影响 求大牛
相关文章推荐
- 大家帮忙看看c++中派生类发生浅拷贝,但是在析构时候怎么没有内存错误!求解!
- 【转载】毕业后的五年拉开大家差距的原因--年轻人都改看看
- 偶然又发现了一套Graphis的图,发上来给大家看看
- c++ map 插入失败,请大家过来看看!
- 一个小点子,大家帮忙看看,有兴趣的单聊
- nat 静态实验 自己做完了却PING不通,大家帮忙看看
- 在windows平台工作和开发的伙伴们,发现一个很牛B的公司Sysinternals,提供的一些工具大家可以看看是否可以用
- 大家帮忙看看 这个js怎么写?
- 关于图像绘制并输出的问题,大家帮忙看看
- 搞c++的 大家看看
- achartengine之折线图---简单用法(续二)---(动态刷新)图形嵌套在页面(有问题请大家帮忙看看),已解决问题
- 自己写了一个程序,不知道错那了,大家帮忙看看
- 一个ASP.NET2.0的问题,实在无法解决,请大家帮忙看看(放在首页一天后撤下,请DUDU原谅)问题已经解~~^_^
- 刚刚接触C 好多都不懂 大家帮忙看看 这个程序错哪了
- 急!!!SSH开发,报出错误,大家帮忙看看吧。。
- 大家帮忙看看这道题
- 请大家帮忙看看poi读取excel表,为什么.xls可以,.xlsx不行?还报错
- 高手大家帮忙啊!看看这个值怎么取出来判断?
- 初接触c语言,请大家帮忙看看问题出在哪了!
- 关于链表的,有一些错误老是解决不了,大家帮忙看看