Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;比较两个不同的类变量_C++_Class_Object - Fatal编程技术网

C++ C++;比较两个不同的类变量

C++ C++;比较两个不同的类变量,c++,class,object,C++,Class,Object,我想写的代码是比较存储信息和输入信息。存储的信息必须存储在私有类中。输入信息可以公开存储。但课程必须有所不同。例如,类SavedInfo和classInputInfo。我该怎么做 #include <iostream> using namespace std; class SavedInfo { private: string name = "Esat"; string surname = "Kandemir"; i

我想写的代码是比较存储信息和输入信息。存储的信息必须存储在私有类中。输入信息可以公开存储。但课程必须有所不同。例如,类SavedInfo和classInputInfo。我该怎么做

#include <iostream>

using namespace std;

class SavedInfo {
private:
    string name = "Esat";
    string surname = "Kandemir";
    int pwd = 12345;

public:
    string setName() {
        string name1;

        name = name1;

        return name1;
    }
    string setSurname() {
        string surname1;

        surname = surname1;
        return surname1;
    }
    int setpwd() {
        int pwd1;
        pwd = pwd1;
        return pwd1;
    }
};

class BankAccount {
public:
    string Name;
    string Surname;
    int Password{};
};

int main() {
    BankAccount User;
    SavedInfo ExistingUser;

    cin >> User.Name;
    cin >> User.Surname;
    cin >> User.Password;

    if(ExistingUser.setName() == User.Name)
        cout << "Hello " << User.Name << "still need your surname sir" << endl;

    if(ExistingUser.setSurname() == User.Surname)
        cout << "Hello" << User.Name << User.Surname << endl;

    if(ExistingUser.setpwd() == User.Password) cout << "All correct." << endl;

    return 0;
}
#包括
使用名称空间std;
类SavedInfo{
私人:
string name=“Esat”;
字符串姓氏=“Kandemir”;
int pwd=12345;
公众:
字符串setName(){
字符串名称1;
name=name1;
返回名称1;
}
字符串setSurname(){
字符串1;
姓氏=姓氏1;
返回姓氏1;
}
int setpwd(){
int pwd1;
pwd=pwd1;
返回pwd1;
}
};
类别银行帐户{
公众:
字符串名;
串姓;
int密码{};
};
int main(){
银行账户用户;
SavedInfo现有用户;
cin>>用户名;
cin>>用户。姓氏;
cin>>用户密码;
if(ExistingUser.setName()==User.Name)

如果我正确理解了你的问题,我认为你的类中需要getter函数。你需要通过getter函数来比较它们

if( getterA(T t) == getterB(X x))
此外,您还需要解决这个问题,您必须在本地函数中传递参数,并使用此指针

就你而言:

    string getName() {
        return name;
    }
    string getSurname() {
        return surname;
    }
    int getpwd() {
        return pwd;
    }

要添加代码块类型``请按enter键粘贴未经编辑的IDE代码,然后按enter键,然后再按enter键。我本来要修复的,但代码现在到处都是符号。
setName()的用途是什么
成员函数?它为
name
分配一个空字符串,并返回一个空字符串…?在所有setter函数中似乎都是这样。@TEDLYNGOM我想进入private name的内部。此行:string name=“Esat”;@Lases
setName()
分配一个默认构造的(空)
std::string
name
。之后,
name
为空。您看到了它的工作原理吗?如果希望能够从类外部设置名称,请返回对
name
的引用(
std::string&name(){return name;}
)或者将
name
公开,或者创建一个合适的setter方法,该方法将
std::string
作为参数,并将其分配给
name
。使用此方法获取私有值
string getName(){return name;}
if(User1.get_setName()==name)。我是这样想的,但我不明白哪个“name”右边是属于的。输入的是名称吗?
    string getName() {
        return name;
    }
    string getSurname() {
        return surname;
    }
    int getpwd() {
        return pwd;
    }