注册 登录
编程论坛 C++教室

一句代码没有看懂,求一下解释

jioper 发布于 2017-04-28 21:06, 1896 次点击
class Worker:public Employee{
public:
    Worker(int gl);
    void sethour(float hr)
    {
        hour=hr;
    }
    void setgongzi(float gz)
    {
        gongzi=gz;
    }
    float computerpay();
private:
    float hour,gongzi;
};
Worker::Worker(int gl):Employee(gl)//这里没看懂,是说Worker 继承了雇员类并且初始化新加入的hour和gongzi吗
{
    hour=0;
    gongzi=0;
}
5 回复
#2
jioper2017-04-28 21:19
同时还有一个问题
class Employee
{
public:
Employee(char *nm,int gl)
{
gongling=gl;
strncp(name,*nm,20);
}
char *getname()这里的*getname为什么是*getname,不加*为什么不可以?加*什么原理?
{
return name;
#3
rjsp2017-04-29 00:39
第一问
这叫初始化列表。欲构造worker,难道不需要先构造employee?

第二问
是 char*,getname 这样分,而非 char,*getname 这样分
#4
jioper2017-04-29 14:39
回复 3楼 rjsp
没有懂第二问是什么意思...我理解char *nm是一个指针,所以后面直接getname{return name}就可以理解为*nm是指向getname的...这个想法对吗?
#5
rjsp2017-04-29 18:43
char *getname()这里的*getname为什么是*getname,不加*为什么不可以?加*什么原理?

我的意思是 char* getname()
即 星号是和char一起的,而非和getname一起
#6
jioper2017-04-29 23:08
回复 5楼 rjsp
明白了
1