如何使用 cout 显示类中类的值?
How to use cout to display a value from a class within a class?
这里有三个不同的类
#pragma once
#include <string>
#include "registeredUser.h"
using namespace std;
class theater
{
public:
string address;
registeredUser registerUser(string e, string p)
{
registeredUser y;
y.email = e;
y.password= p;
return y;
}
};
#pragma once
#include <string>
#include "userData.h"
#include "movie.h"
using namespace std;
class registeredUser
{
public:
string email;
string password;
movie addMovie(string t, int y, string d, string g)
{
movie m;
m.title = t;
m.year = y;
m.desc = d;
m.genre = g;
return m;
}
userData addUserData(string n, string a, string cc)
{
userData y;
y.name = n;
y.address = a;
y.creditCard = cc;
return y;
}
};
#pragma once
#include<string>
using namespace std;
class userData
{
public:
string name;
string address;
string creditCard;
};
我在下面的代码中所做的是创建一个剧院的实例,然后在剧院的实例中创建一个注册用户的实例。此用户实例中还有另一个类:userData。
// create a new theatre object
theater uweTheater;
uweTheater.address = "UWE Frenchay";
// register a user with the theatre and add some user details
registeredUser user1 = uweTheater.registerUser("user1@here.com", "password");
user1.addUserData("Name", "Address", "Number");
如何使用 std::cout 显示最内部的类详细信息?例如,如果我想显示 user1 的名称,我将如何在 cout 语句中声明它 -> std::cout <<??<<endl;
您的theater
类有一个名为registerUser()
的方法,该方法创建registeredUser
的实例并返回它。registeredUser
同样有一个名为addUserData()
的方法,该方法创建userData
的实例并返回它。这些方法的名称具有误导性,因为它们都不向外部类添加或注册用户。相反,它们都只是创建一个实例并返回它。
我认为没有理由将registeredUser
与userData
分开.您应该创建一个包含用户所需所有字段的User
类。还应向theater
类添加一个字段,以跟踪其所有用户。例如,您可以执行以下操作:
class theater {
private:
std:vector<User> users;
}
然后,您的registerUser()
方法可以将用户添加到此用户列表中。
然后,要回答有关打印信息的问题,您可以覆盖两个类的operator>>()
来执行此操作。
相关文章:
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 为什么我的 cout 在输出中没有显示字符串?
- 为什么strlen(s)与s的大小不同,为什么cout-char显示的是字符而不是数字
- 使用 CIN COUT 显示垃圾值的文件对象?
- 'cout'将整数显示为十六进制
- 如何使用 cout 显示类中类的值?
- 函数不返回值,但 cout 显示它
- C 未显示COUT信息
- printf 整数显示超过 C++ cout
- 为什么当我使用 cout 显示输出时,必须将按位运算符(例如 &,|,等)括在括号中?
- Jupyter笔记本未显示C 输出(COUT)
- 为什么我的 C++ 代码不能显示 cout 字符串
- 将字符串添加到2D数组并显示COUT消息(没有错误消息?)的错误
- C++ - 为什么我的cout代码显示小数不一致
- 为什么 cout 不显示字符串变量 rnd
- 返回前的 cout 显示的数字与主数字大不相同
- 当我调用std::abort()时,cout没有显示
- Xcode调试器未显示C++cout输出
- 用cout显示双精度的c++问题