操作数无效如何解决 [英] Invalid operand how to solve

查看:130
本文介绍了操作数无效如何解决的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#include <iostream>
#include<stdio.h>
using namespace std;
const int LEN=25;
class Employee
{
    char name[LEN];
    unsigned long enumb;
    public:
    void getdata()
    {
        cout<<"enter name";
        cin>>name;
        cout<<"empno";
        cin>>enumb;
    }
void putdata()
    {
        cout<<name;
        cout<<enumb;
        cout<<basic;
    }
    protected:
    float basic;
    void getbasic()
    {std::cout << "enter basic"<< std::endl;
    std::cin >> basic;
    }
};
class manager:public Employee
{
    private:
    char title[LEN];
    public:
    void getdata()
     {
         Employee :: getdata();
         getbasic();
         std::cout << "enter title" << std::endl;
         cin>>(title);
     }
     void putdata()
     {
         Employee:: putdata();
         std::cout << title<< std::endl;
     }
};
int main(void){
    system("cls");
    manager m1,m2;
    cout <<"manager 1"<< m1.getdata()
    std::cout << "manager 2"<< m2.getdata()std::endl;
    std::cout << "manager 1" << m1.putdata()
    std::cout << "manager 2"<<m2.putdata()std::endl;
    return 0
}





我尝试过:



#include< iostream>

#include< stdio.h>

using namespace std;

const int LEN = 25;

class Employee

{

char name [LEN];

unsigned long enumb;

public:

void getdata()

{

cout<<输入名称;

cin>>名称;

cout<<empno;

cin>> ; enumb;

}

void putdata()

{

cout<< name;

cout<< enumb;

=cout<< basic;

=}

= protected:

=float =basic;

=void =getbasic()

={ std :: cout =<< =enter =basic<< =std :: endl;

=std :: cin = >>基本;

}

};

班级经理:公共员工

{
$ b $私人:

char title [LEN];

public:

void getdata()

{

Employee :: getdata();

getbasic();

std :: cout<< 输入标题<< std :: endl;

cin>>(标题);

}

void putdata()

{

Employee :: putdata();

std :: cout<<标题<< std :: endl;

}

};

int main(void){

system(cls );

经理m1,m2;

cout<<经理1<< m1.getdata()

std :: cout<< 经理2<< m2.getdata()std :: endl;

std :: cout<< manager 1<< m1.putdata()

std :: cout<< manager 2<



What I have tried:

#include <iostream>
#include<stdio.h>
using namespace std;
const int LEN=25;
class Employee
{
char name[LEN];
unsigned long enumb;
public:
void getdata()
{
cout<<"enter name";
cin>>name;
cout<<"empno";
cin>>enumb;
}
void putdata()
{
cout<<name;
cout<<enumb;
="" cout<<basic;
="" }
="" protected:
="" float="" basic;
="" void="" getbasic()
="" {std::cout="" <<="" "enter="" basic"<<="" std::endl;
="" std::cin="">> basic;
}
};
class manager:public Employee
{
private:
char title[LEN];
public:
void getdata()
{
Employee :: getdata();
getbasic();
std::cout << "enter title" << std::endl;
cin>>(title);
}
void putdata()
{
Employee:: putdata();
std::cout << title<< std::endl;
}
};
int main(void){
system("cls");
manager m1,m2;
cout <<"manager 1"<< m1.getdata()
std::cout << "manager 2"<< m2.getdata()std::endl;
std::cout << "manager 1" << m1.putdata()
std::cout << "manager 2"<

推荐答案

main应该写成:
int main(void)
{
    system("cls");
    manager m1,m2;
    std::cout << "manager 1" << m1.getdata();
    std::cout << "manager 2" << m2.getdata() << std::endl;
    std::cout << "manager 1" << m1.putdata();
    std::cout << "manager 2" << m2.putdata() << std::endl;
    return 0;
}

在endls之前似乎缺少几个分号和几个重定向器。

It seemed to be missing several semicolons and a couple of redirectors before the endls.


两个 getdata putdata 方法没有返回值,因此您无法将其(不存在的)结果传递给 std :: cout 插入运算符(<< )。尝试:

Both getdata and putdata methods have no return value, so you cannot pass their (inexisting) result to std::cout insertion operator (<<). Try:
int main(void)
{
    manager m1,m2;
    std::cout << "manager 1:\n";
    m1.getdata();
    std::cout << "manager 2:\n";
    m2.getdata();
    std::cout << std::endl;
    std::cout << "manager 1:\n";
    m1.putdata();
    std::cout << "manager 2:\n";
    m2.putdata();
    std::cout << std::endl;
}


这篇关于操作数无效如何解决的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆