#include <iostream>
#include <string>
using namespace std;
class CPU{
protected:
int rank;//核心数
double frequency;//CPU频率
int voltage;//CPU电压
public:
CPU(){}
CPU(int R,double F,int V):rank(R),frequency(F),voltage(V){
cout<<"create a CPU!"<<endl;
}
CPU(CPU &cpu):rank(cpu.rank),frequency(cpu.frequency),voltage(cpu.voltage){
cout<<"create a CPU by copy!"<<endl;
}
void showinfo(){
cout<<"cpu parameter:"<<endl;
cout<<"rank:"<<rank<<endl;
cout<<"frequency:"<<frequency<<endl;
cout<<"voltage:"<<voltage<<endl;
}
~CPU(){
cout<<"desturct a CPU!"<<endl;
}
};
class RAM{
protected:
int volumn;//内存
public:
RAM(){}
RAM(int V):volumn(V){
cout<<"create a RAM!"<<endl;
}
RAM(RAM &ram):volumn(ram.volumn){
cout<<"create a RAM by copy!"<<endl;
}
void showinfo(){
cout<<"ram parameter:"<<endl;
cout<<"volumn:"<<volumn<<" GB"<<endl;
}
~RAM(){
cout<<"desturct a RAM!"<<endl;
}
};
class CDROM{
protected:
int speed;//cdrom转速
public:
CDROM(){}
CDROM(int S):speed(S){
cout<<"create a CDROM!"<<endl;
}
CDROM(CDROM &cdrom):speed(cdrom.speed){
cout<<"create a CDROM by copy!"<<endl;
}
void showinfo(){
cout<<"cdrom parameter:"<<endl;
cout<<"speed:"<<speed<<endl;
}
~CDROM(){
cout<<"destruct a CDROM!"<<endl;
}
};
class COMPUTER{
protected:
CPU cpu;
RAM ram;
CDROM cdrom;
public:
COMPUTER():cpu(1,2,100),ram(1),cdrom(16){
cout<<"no para to create a COMPUTER!"<<endl;
}
COMPUTER(int rank,double frequency,int voltage,int volumn,int speed):cpu(rank,frequency,voltage),ram(volumn),cdrom(speed){
cout<<"create a COMPUTER with para!"<<endl;
}
COMPUTER(COMPUTER &computer):cpu(computer.cpu),ram(computer.ram),cdrom(computer.cdrom){
cout<<"create a COMPUTER by copy!"<<endl;
}
void showinfo(){
cpu.showinfo();
ram.showinfo();
cdrom.showinfo();
}
~COMPUTER(){
cout<<"destruct a COMPUTER!"<<endl;
}
};
int main()
{
COMPUTER cpt1(6,4.0,200,60,32); //测试带参数构造
cout<<"cpt1's parameter:"<<endl;
cpt1.showinfo();
cout<<"------------------------------"<<endl;
COMPUTER cpt2; //测试不带参数构造
cout<<"cpt2's parameter:"<<endl;
cpt2.showinfo();
cout<<"------------------------------"<<endl;
COMPUTER cpt3(cpt1); //测试复制构造
cout<<"cpt3's parameter:"<<endl;
cpt3.showinfo();
cout<<"------------------------------"<<endl;
}
这个错误提示表明在进行一个转换操作时,发生了精度损失的情况,你贴一下源代码
打开软件,会弹出一个文件关联框,点击OK。
因为更改了默认安装位置,这儿就需要设置一下编译器位置,点击顶部settings–>Compiler
打开的Compiler settings框里,
右侧上边选择Toolchain executables,下边Compiler’s installation directory栏选择CodeBlocks安装位置下的MinGW文件夹,然后点击OK即可。
在CodeBlocks里编写C语言,需要先建项目,点击软件界面中部的Creat a new project,
或点击软件右上角的File,弹出列表里选择New,扩展框里选择点击Project…
打开的New from template里选择Console application,点击右上角的Go
弹出框点击Next,
下个框里选择C,因为要写C语言,点击Next。
给项目起名,选择好存放位置后,点击Next。
这个框里不用管,点击Finish,就建好了项目。
软件顶部的那个小齿轮就是编译按钮,点击后就进行了编译,编译后可以在底部看到,error和warning都为0,没有错误后,
点击顶部的小绿三角符号就是运行。