如何在C++中使用合成时使用"cin"进行用户输入
How to user input using "cin" while using composition in C++
我有三个C++类,InventoryItem、SalesPerson和Transaction。我正在使用composition在Transaction中使用InventoryItem和SalesPerson类。我想使用用户输入,而不仅仅是在构造函数中传递值,但我做不到。任何帮助都将不胜感激。下面是我的C++文件。
#include<iostream>
#include<string>
using namespace std;
class InventoryItem {
private:
int stockNum; double price;
public:
InventoryItem(int, double);
void display(); };
InventoryItem::InventoryItem(int stkNum, double pr) {
stockNum = stkNum;
price = pr;
}
void InventoryItem::display() {
cout << "Item #" << stockNum << " costs $" << price << endl;
}
//SalesPerson class
class Salesperson {
private:
int idNum;
string name; public:
Salesperson(int, string); void display();
};
Salesperson::Salesperson(int id, string lastName) {
idNum = id;
name = lastName;
}
void Salesperson::display() {
cout << "Salesperson #" << idNum << " " << name << endl;
}
//Transaction(main class)
class Transaction {
private:
int transNum;
InventoryItem itemSold;
Salesperson seller;
public:
Transaction(int, int, double, int, string);
void display();
};
Transaction::Transaction(int num, int item, double pr,
int salesId, string name) : itemSold(item, pr),
seller(salesId, name) {
transNum = num;
}
void Transaction::display() {
cout << "Data for transaction #" << transNum << endl; itemSold.display();
seller.display();
}
int main() {
Transaction aSale(247, 782, 44.77, 512, "Richardson"); aSale.display();
return 0;
}
我将此作为回复而非评论发布,因为我的手机上没有backticks。所以你想做一些类似的事情
int main()
{
int x, y, z;
double f;
string name;
cin >> x >> y >> f >> z >> name;
Transaction(x, y, f, z, name);
return 0;
}
当然,您可以将cin
行划分为每个变量一个cin
和关于用户接下来必须输入的内容的cout
指令。这看起来像
int main()
{
int x, y, z;
double f;
string name;
cout << "Enter x: ";
cin >> x;
cout << "Enter y: ";
cin >> y;
cout << "Enter f: ";
cin >> f;
cout << "Enter z: ";
cin >> z;
cout << "Enter name: ";
cin >> name;
Transaction(x, y, f, z, name);
return 0;
}
用要提示用户的字符串替换cout
行中的字符串。
相关文章:
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 分割错误 11:尝试使用 cin 输入 B[1] 时
- 当使用 std::CIN 输入结构时,它会出错
- C ++如何使用CIN输入这样的值?
- 使用 cin 输入数组值
- 当我输入一个字母时,cin 输入(输入是一个 int),而不是打印错误一次,它打印正确一次,然后在循环的其余部分打印 i
- 成功使用连续同时(cin >>输入)
- 连续 cin 输入在C++中的工作原理
- 无法获取哨兵值以读取多个 CIN 输入?
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- C CIN输入要文件
- C++:获取用户通过cin输入的数据类型
- 无法读取字符串的长 cin 输入
- 如何将可编辑的预定义字符串写入 C++ 控制台应用程序中的 cin 输入运算符
- 循环获得CIN输入
- cin 输入可以有多大
- 如何拆分 CIN 输入
- 检查有效的 CIN 输入时出现问题
- 较长的获取线 CIN 输入的问题
- 检查 cin 输入流会生成一个整数