问题描述
- 这个没错误。怎么什么也运行不出来??
-
// shiyan66.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"iomanip"
#include"iostream"
using namespace std;class Employee
{ public:
Employee(const long n,const char* N){number=n,*name=*N;};
virtual~Employee(){};const char* getName(long n) const{};
const long getNumber() const{};
virtual double eamings() const=0;virtual void print() const{cout<<"编号:"<
protected:
long number;
char *name;
};
class Manager: public Employee
{ public:
Manager(const long n,const char* N,double u ):Employee(n, N){monthlySalary=u;}
~Manager(){};
void setMonthlySalary(long n){number=n;};
virtual double eamings() const{return 0;};
virtual void print() const{cout
private:
double monthlySalary;
};
class HourlyWorker: public Employee
{ public:
HourlyWorker(const long n,const char* N,double=0.0, int=0):Employee(n, N){number=n,*name=*N;};
~HourlyWorker(){}
void setWage(double h){hours=h;};
void setHours(int w){wage=w;};
virtual double eamings() const{return hours*wage; };
virtual void print() const{cout
private:
double wage;
double hours;
};
class PieceWorker: public Employee
{ public:
PieceWorker(const long n,const char* N,double=0.0, int=0):Employee(n, N){number=n,*name=*N;};
~PieceWorker(){}
void setWage(double w){wagePerPiece=w;};
void setQuantity(int q){quantity=q;};
virtual double eamings() const{return wagePerPiece*quantity;};
virtual void print() const{cout
private:
double wagePerPiece;
int quantity;
};
int main()
{ cout
Manager m1(10135,"Cheng ShaoHua", 1200) ;
Manager m2(10201,"Yan HaiFeng",1000);
m2.setMonthlySalary ( 5300) ;
HourlyWorker hw1(30712,"Zhao XiaoMing",5,8*20) ;
HourlyWorker hw2(30649,"Gao DongSheng" ,6,98*8) ;
hw2.setWage(4.5) ;
hw2.setHours(10*30) ;
PieceWorker pw1(20382,"Xiu LiWei",0.5,2850) ;
PieceWorker pw2(20496,"Huang DongLin" ,1,23*10) ;
pw2.setWage(0.75);
pw2.setQuantity (1850);
Employee*basePtr;
basePtr=&m1 ; basePtr=&m2; basePtr=&hw1 ; basePtr=&hw2 ; basePtr=&pw1 ; basePtr=&pw2 ;
basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print();
return 0;
}
解决方案
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案二:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案三:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案四:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案五:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案六:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案七:
using namespace std;
应该写在第一行。
#include"iostream"等等标准库引用应该改为#include 。
还要注意:老的C++标准引用库文件 #include ,需要加 .h扩展名。
而C++ 99标准开始采用如等格式。
解决方案八:
不要用"" 要用<>
只有自己写的头文件才使用""
解决方案九:
感觉这个人疯了,绝对是不知道从什么地方复制粘贴了一段代码,很可能是从pdf里面复制出来的,然后就直接贴在这问问题!!
解决方案十:
你确定这段代码能编译通过吗?嘿嘿。
至少class Employee里面成员函数print()花括号不匹配。