gpt4 book ai didi

c++ - c++简单程序初学者

转载 作者:行者123 更新时间:2023-11-28 06:59:21 25 4
gpt4 key购买 nike

大家好,我正在尝试学习类和对象的基础知识。据我所知,我的语法是正确的,但我的程序收到了这些错误消息...

错误:“A”未在范围内声明

错误:“a”未在范围内声明

错误:“UIClass”未在范围内声明

错误:“AgeObject”未在范围内声明

错误:应为“;”在“NameObject”之前

错误:“NameObject”未在范围内声明

错误:应为“;”在“结果对象”之前

错误:“ResultObject”未在范围内声明

#include <iostream>
#include <string>
using namespace std;

class UI{

public:

void Age(){
int a;
cout << "Age?" << endl;
cin >> a;}

void Name(){
string A;
cout << "Name" << endl;
cin >> A;}

void Results(){
cout << "Your name is " << A << "and you are " << a << " years old." << endl;
}


};


int main ()

{

cout << "Enter Your Name and Age?" << endl;

UIClass; AgeObject;
AgeObject.Age();

UIClass NameObject;
NameObject.Name();

UIClass ResultObject;
ResultObject.Results();

return 0;

}

最佳答案

所以在您的代码中,在 Results 方法中,您试图访问未在其中声明的变量。

所以你有:

void age()
{
// does stuff with age
}

void name()
{
// does stuff with name
}

变量只存在于这些方法中。因此,当您尝试从 Results() 获取它们时,您将收到“超出范围”错误。

所以你可以做的是声明四个额外的方法,setAge,setName,它们将接受如下参数:

class UI
{
private:
int age;
string name;

public:
void setAge(int ag)
{
age = ag;
}

int getAge()
{
return age;
}

然后您将 void age() 方法更改为如下所示:

void age()
{
// Do the stuff you've already done
setAge(a);
}

然后当您尝试完成输出时:

cout << "Your name is " << getName() << " and you are " << getAge() << " years old." << endl;

您使用的是哪本书,他们真的应该解释这类内容。如果没有,我会得到一个新的。这是您用 C++ 编写的最基本的程序之一。

我没有给你完整的答案,但这应该会鼓励你并给你一个起点。希望对您有所帮助。

快乐编码。

关于c++ - c++简单程序初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com