| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:请帮我看看为啥赋不了值
取消只看楼主 加入收藏
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:4 
请帮我看看为啥赋不了值
程序代码:
#include<iostream>
#include<string>
using namespace std;

class Employee
{
public:
    Employee(string nam,string n):name(nam),num(n)
    {
        grade=1;
        wage=0;
    }
protected:
    string name;
    string num;
    int grade;
    double wage;
};

class Technician:virtual public Employee
{
private:
    int hour;
public:
    Technician(string nam,string n,int h):Employee(nam,n)
    {
        hour = h;
        grade = 3;
        wage =100*h;
    }
    void show_T();
    void get_T();
};

void Technician::show_T()
{
    cout<<"name:"<<name<<endl;
    cout<<"num:"<<num<<endl;
    cout<<"grade:"<<grade<<endl;
    cout<<"wage:"<<wage<<endl;
}

void Technician::get_T()
{
    cin>>hour;
}

int main()
{
    Technician t("t","2",100);
    t.get_T();                                  //我在这里对hour赋值为4,但为啥不起作用
    t.show_T();
    return 0;
}


对hour赋值后不起作用,请各位指点下
2014-05-08 22:46
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 2 楼 funyh250
这个应该与返回值没关系吧,我是通过成员函数直接对成员变量进行修改
2014-05-09 06:32
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 4 楼 rjsp
举个例子,我输入4,那么hour就会变成4,wage就会变成400,可是输出的hour依然是100,wage依然是10000……
2014-05-09 09:20
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 6 楼 rjsp
额,我知道了,我的wage=100*h,h的值没改变,我一直当成wage=100*hour了……
2014-05-09 16:19
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 6 楼 rjsp
额,也不是刚说的问题。当时写的时候应该是思路混乱了,把构造函数当成了普通函数在用,希望通过修改hour的值,然后根据构造函数中的wage=100*h,修改wage的值……谢谢你的回答
2014-05-09 16:26
快速回复:请帮我看看为啥赋不了值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030975 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved