我正在尝试创建一个车辆注册门户.由于某些原因,get()只接收所有者名称
I am trying to create a vehicle registration portal. For some reason the get() is only receiving the owner name
我正在尝试创建一个车辆注册门户。由于某些原因,get((只接收所有者的名称。
我正在尝试实践继承,并使用了从父类"继承属性的概念;车辆";。这是儿童班;获取信息";
#include<iostream>
using namespace std;
class vehicle{
private:
int noPlate;
char owner;
int registrationNo;
public:
int modelNo;
void setnoPlate_setRegNo_setOwner( char number, int rNumber, char ownerName){
noPlate = number;
registrationNo = rNumber;
owner = ownerName;
}
void displayInfo(){
cout<<"***Vehicle Information Portal***";
cout<<" ----------- n";
cout<<"Owner Name: "<<owner<<"n";
cout<<"Registered Number Plate: "<<noPlate<<"n";
cout<<"Registration Numaber: "<<registrationNo<<"n";
}
};
继承车辆等级
class getInfo : public vehicle{
public:
void get(){
char tempNoPlate;
int tempRegNumber;
char tempOwnerName;
cout<<"n***Vehicle Registration Portal*** n";
cout<<" ----------- n";
cout<<"Enter your Registratered Owner name for your vehice:"<<"n";
cin>>tempRegNumber;
cout<<"Enter your number plate of your vehice:"<<"n";
cin>>tempNoPlate;
cout<<"Enter your Registration Number of your vehice:"<<"n";
cin>>tempRegNumber;
setnoPlate_setRegNo_setOwner(tempNoPlate, tempRegNumber, tempOwnerName);
}
void display(){
displayInfo();
}
};
主要功能
int main(){
getInfo vehicleInfo;
vehicleInfo.get();
vehicleInfo.display();
return 0;
}
-
在void get((中,您试图在int类型的注册号中获取所有者名称,因此它会破坏
-
其次,所有者名称应该是除Char之外的字符串类型,因为Char只能存储1个字符。
-
在类车辆中,noPlate是int类型的,您还必须在派生类中获取int类型的tempNoPlateget-info
这是正确的代码
#include<iostream>
using namespace std;
class vehicle{
private:
int noPlate;
string owner;//Change in owner data type
int registrationNo;
public:
int modelNo;
void setnoPlate_setRegNo_setOwner( int number, int rNumber, string ownerName){ //Change in ownername data type
noPlate = number;
registrationNo = rNumber;
owner = ownerName;
}
void displayInfo(){
cout<<"***Vehicle Information Portal***";
cout<<" ----------- n";
cout<<"Owner Name: "<<owner<<"n";
cout<<"Registered Number Plate: "<<noPlate<<"n";
cout<<"Registration Numaber: "<<registrationNo<<"n";
}
};
class getInfo : public vehicle{
public:
void get(){
int tempNoPlate; //this should be of int type instead of char
int tempRegNumber;
string tempOwnerName; // change
cout<<"n***Vehicle Registration Portal*** n";
cout<<" ----------- n";
cout<<"Enter your Registratered Owner name for your vehice:"<<"n";
getline(cin, tempOwnerName); // change, GETLINE here is used to read space in name, you can use cin >> tempOwnerName but
// it wouldnt read space character.
cout<<"Enter your number plate of your vehice:"<<"n";
cin>>tempNoPlate;
cout<<"Enter your Registration Number of your vehice:"<<"n";
cin>>tempRegNumber;
setnoPlate_setRegNo_setOwner(tempNoPlate, tempRegNumber, tempOwnerName);
}
void display(){
displayInfo();
}
};
int main(){
getInfo vehicleInfo;
vehicleInfo.get();
vehicleInfo.display();
return 0;
}
相关文章:
- 使用迭代器成员函数是否仅适用于某些向量类型"empty()"?
- OpenSSL AES仅适用于某些计算机,即使具有静态链接也是如此
- 在 Eclipse 中漂亮的打印C++适用于某些项目,而不适用于其他项目
- 结构化绑定:当某些内容看起来像引用并且行为类似于引用,但它不是引用时
- 如何根据用户输入"weighted"随机数生成,使某些数字优先于其他数字?
- Vigenere密码的C++功能有时才起作用(适用于某些输入,跳过其他输入的班次)
- 为什么 OpenCL 嵌套循环仅适用于某些元素
- 仅适用于某些模板类型的覆盖方法
- 连接四个成功的组合检查适用于大多数情况,但不适用于某些情况
- C++11:std::get<> 等效于 n 维数组
- 在老板层次结构中查找"top"老板仅适用于某些测试用例
- yyparse()未在Bison/Flex C++项目中声明,仅适用于某些版本的gcc/Bison/Flex
- al_draw_filled_rectangle()似乎只适用于某些类
- C++ 中的 randomize() 和 random() 函数仅适用于某些编译器
- C++ 将函数应用于容器中的某些元素
- 使用PostMessage模拟按键仅适用于某些应用程序
- 如何将C预处理器仅应用于某些(#if/#endif)指令
- CUDA功能只适用于某些元素
- Switch语句只适用于某些情况
- 带有CDC的MFC打印仅适用于某些打印机