求c++编程高手指点,指出我的代码错误的地方以及给出改正,谢谢。题目要求是一个工人类,包括工号,性别。

#include<iostream>
#include<string>
using namespace std;
class Work {
public:
Work(int n,int i,char s)
{num=n;
sex=s;
ID=i;}
Work(Work &W);
int getnum() {return num;}
char getsex() {return sex;}
int getID() {return ID;}
private:
int num,ID;
char sex;};
Work::Work(Work &W)
{ num=W.num;
sex=W.sex;
ID=W.ID;};
class Date {
public:
Date(int y,int m,int d)
{year=y;
month=m;
day=d;}
void showTime();
private:
int year,month,day;};
inline void Date::showTime()
{ cout<<year<<":"<<month<<":"<<day<<endl;}
int main() {
Work w;
Date D;
D.showTime();
return 0; }

第1个回答  2012-04-13
是不是报无匹配的构造函数?
main函数中Work w;有问题
如果用户自己定义了构造函数,则系统中默认的构造函数将不会调用,要么自己写一个无形参的构造函数,要么把w改成w(n,s)括号中的实参分别对应成员数据int num,ID;char sex;
第2个回答  2012-04-13
class worker{
int id;
bool sex;
public:
worker()id(0),sex(false){}
worker(int d1,bool b):id(d1),sex(b){}
int getid(){ return id}
bool getsex(){return sex}
};

类可以参考着写 需要什么成员函数 你继续向下添加就可以了追问

为什么sex 的类型是bool型呢,也没有private:不明白worker()id(0),sex(false){}是何解?

追答

因为private是默认的
假为女 真为男
worker():id(0),sex(false)初始化数据成员

本回答被提问者采纳
第3个回答  2012-04-13
这个,貌似你的代码问题很多,一两句话说不清楚啊!472088573追问

呵呵呵呵,谢谢啦,你修改后的代码呢?我刚刚学习这个,所以很多问题弄不懂啊,麻烦你看啦,谢谢》

...谢谢。题目要求是一个工人类,包括工号,性别。
main函数中Work w;有问题 如果用户自己定义了构造函数,则系统中默认的构造函数将不会调用,要么自己写一个无形参的构造函数,要么把w改成w(n,s)括号中的实参分别对应成员数据int num,ID;char sex;

请C++高手指点一下。我每次编译都出现这样的错误,复制正确的编码也会...
因此问题可以按照以下方法解决:点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。很多情况可能就一个盘符的不同(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。

求高手帮忙解决下面这个C++中的一个题目。看俺的代码哪里有错...
你有几个地方有错误:1.求个位数,直接用n%10就可以了,你那样子是求的最高位的值 2.既然你已经定了个位为7,直接给m赋7就可以了吧。3.你上面那样子算的时候,最后退出第一个while循环的时候,n是为0的,下面不能用这个n计算,你若是不断的用n\/=10,开始应该用个变量保存这个n的值 4.还...

请C++高手来看看我的这串代码哪里出错了
include<iostream>using namespace std;class string{};int main(){string a;return 0;}\/\/我的sublime用的是g++,测了这一段代码,都报错了。\/\/[第一个错误]error: reference to 'string' is ambiguous\/\/我不知道我的理解有没有错啊,你的自己定义的类string和std namespace里面的string同名了。

编程高手帮我解决个小问题吧,谢谢啦、是作业题,用c++语言编写
第一题:include <iostream> using namespace std;int main (){ int a[10][10];int n,i;a[0][0]=1;for (n=1;n<10;n++){ for (i=0;i<=n;i++){ if ((i==0)||(i==n))a[n][0]=a[n][n]=1;else { a[n][i]=a[n-1][i-1]+a[n-1][i];} } } for (...

C++ 分治排序问题。求高手解答我的烂代码,为啥出现segmentation fault...
b,int* c){ 4 int len1=sizeof(a)\/sizeof(a[0]); \/\/这里传进来的a是个地址,sizeof(a)=4 sizeof(a[0])也是4,所以len1 =1 同理len2=1,因此,你的数组长度都应该传进来才好,不然程序运行当然会出错 5 int len2=sizeof(b)\/sizeof(b[0]);

...syntax error : ')' 本人刚学c++,求高手指教~谢谢了
我编译了一下,应该出问题的是成员不足,少了个成员和一个逗号。hWnd = CreateWindow( szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,100,220,80, NULL,NULL, hInstance,NULL); 100,220,80,后面应该还有一个数。

喷水装置(二) c\/c++程序设计问题 请教高手指出代码错误
你的测试数据是干吗的?根据题目只要给出w h和r,就可以能得出结论,r如果小于h的一半,就无法湿润整个草坪,其它可以,可计算得出n

VC++编译出错,错误代码:error C1189,请各位高手指点一下。
1.工程-》属性-》C\/C++-》代码生成-》运行时库:修改成: 多线程调试(\/MTd); (release版本也修改成 多线程(\/MT)2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC 方法2不一定管用,PC机上的MFC(相对于EVC而言)程序都是多线程的(不信你照2修改试试,会出现找不到_...

求c++高手帮忙找程序错误,问题是一个大写字母执行完后变成两个小写字母...
using namespace std;void main(){ int i;char a[20];cout<<"请输入字符串"<<endl;cin>>a;for(i=0;i<20;i++){ if(a[i]>64&&a[i]<91){ a[i]+=32;cout<96&&a[i]<123)cout<<a[i];} cout<<endl;}

相似回答