C++打印出对象错误
C++ print out objects error
我卡在将对象 Meja1 和 Meja2 打印到类 Informasi 中。如何打印对象Meja1.print_Meja(); and Meja2.print_Meja();
请告诉我如何将我的代码编写成人类可读的编码风格?
#include <iostream>
#include <string.h>
using namespace std;
class Inventaris {
private:
string Jenis;
string Warna;
string Keadaan;
public:
void setInventaris (string a, string u, string g)
{
Jenis=a;
Warna=u;
Keadaan=g;
}
string getJenis()
{
return Jenis;
}
string getWarna()
{
return Warna;
}
string getKeadaan()
{
return Keadaan;
}
void cetak ()
{
cout<<"Info Inventaris adalah :"<<endl;
cout<<"Jenis : "<<getJenis()<<endl;
cout<<"Warna : "<<getWarna()<<endl;
cout<<"Keadaan : "<<getKeadaan()<<endl;
}
};
class Kursi : public Inventaris {
public:
void print_Kursi(){
hitung++;
cout << "Informasi kursi adalah" <<endl;
cout<<"Jenis : "<<getJenis()<<endl;
cout<<"Warna : "<<getWarna()<<endl;
cout<<"Keadaan : "<<getKeadaan()<<endl;
}
static int hitung;
static getHitung()
{
return hitung;
}
};
class Meja : public Inventaris {
public:
void print_Meja(){
cout << "Informasi Meja adalah" <<endl;
cout<<"Jenis : "<<getJenis()<<endl;
cout<<"Warna : "<<getWarna()<<endl;
cout<<"Keadaan : "<<getKeadaan()<<endl;
hitung_meja++;
}
static int hitung_meja;
static getHitung_meja()
{
return hitung_meja;
}
};
class Informasi : public Meja, public Kursi {
public:
void print_info(){
cout << "Informasi" <<endl;
cout << "Jumlah Meja = " << Meja::getHitung_meja() << endl;
Meja1.print_Meja(); // how I print object Meja1 and Meja2
Meja2.print_Meja();
cout << "Jumlah Kursi = " << Kursi::getHitung() << endl;
}
};
int Kursi::hitung = 0;
int Meja::hitung_meja = 0;
int main() {
Kursi Kursi1;
Kursi1.setInventaris("Kursi goyang","Merah muda", "Bekas");
Kursi1.print_Kursi();
cout << endl;
Kursi Kursi2;
Kursi2.setInventaris("Kursi kakek","reyot", "Bekas");
Kursi2.print_Kursi();
cout << endl;
Meja Meja1;
Meja1.setInventaris("Meja Antik","Coklat tua","Bekas");
Meja1.print_Meja();
cout << endl;
Meja Meja2;
Meja2.setInventaris("Meja Coffee","Hijau Robek","Bekas");
Meja2.print_Meja();
cout << endl;
Informasi info;
info.print_info();
}
我修复了您的代码,并制作了Meja1
并Meja2
全局声明,以便main()
和Informasi
类都可以访问它们。
#include <iostream>
#include <string>
using namespace std;
class Inventaris {
private:
string Jenis;
string Warna;
string Keadaan;
public:
void setInventaris(string a, string u, string g)
{
Jenis = a;
Warna = u;
Keadaan = g;
}
string getJenis()
{
return Jenis;
}
string getWarna()
{
return Warna;
}
string getKeadaan()
{
return Keadaan;
}
void cetak()
{
cout << "Info Inventaris adalah :" << endl;
cout << "Jenis : " << getJenis() << endl;
cout << "Warna : " << getWarna() << endl;
cout << "Keadaan : " << getKeadaan() << endl;
}
};
class Kursi : public Inventaris {
public:
void print_Kursi() {
hitung++;
cout << "Informasi kursi adalah" << endl;
cout << "Jenis : " << getJenis() << endl;
cout << "Warna : " << getWarna() << endl;
cout << "Keadaan : " << getKeadaan() << endl;
}
static int hitung;
static int getHitung() // <--- FIXED!
{
return hitung;
}
};
class Meja : public Inventaris {
public:
void print_Meja() {
cout << "Informasi Meja adalah" << endl;
cout << "Jenis : " << getJenis() << endl;
cout << "Warna : " << getWarna() << endl;
cout << "Keadaan : " << getKeadaan() << endl;
hitung_meja++;
}
static int hitung_meja;
static int getHitung_meja() // <--- FIXED!
{
return hitung_meja;
}
};
Meja Meja1; // <--- Global declaration accessible by main() and Informasi
Meja Meja2; // <--- Global declaration accessible by main() and Informasi
class Informasi : public Meja, public Kursi {
public:
void print_info() {
cout << "Informasi" << endl;
cout << "Jumlah Meja = " << Meja::getHitung_meja() << endl;
Meja1.print_Meja();
Meja2.print_Meja();
cout << "Jumlah Kursi = " << Kursi::getHitung() << endl;
}
};
int Kursi::hitung = 0;
int Meja::hitung_meja = 0;
int main() {
Kursi Kursi1;
Kursi1.setInventaris("Kursi goyang", "Merah muda", "Bekas");
Kursi1.print_Kursi();
cout << endl;
Kursi Kursi2;
Kursi2.setInventaris("Kursi kakek", "reyot", "Bekas");
Kursi2.print_Kursi();
cout << endl;
Meja1.setInventaris("Meja Antik", "Coklat tua", "Bekas");
Meja1.print_Meja();
cout << endl;
Meja2.setInventaris("Meja Coffee", "Hijau Robek", "Bekas");
Meja2.print_Meja();
cout << endl;
Informasi info;
info.print_info();
}
相关文章:
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 模板,函数使用错误的构造函数来复制我的对象
- 有没有办法让编译器在我放置字符串而不是 nlohmann::json 对象时抛出错误?
- std::unordered_map 类型对象声明期间出现"field has incomplete type"错误
- 错误:malloc:对象 0x7f9edf504080 的 *** 错误:未分配正在释放的指针
- 从对象C++中的文件读取内容时出现分段错误
- cout 新创建的对象引发运行时错误
- 错误:"释放后使用包装器对象 (WRAPPER_ESCAPE)"
- 使用返回对象的函数处理错误
- 创建 QtChart 对象会在运行时创建EXC_BAD_ACCESS错误
- 错误:无法传递非平凡类型"std::string"的对象和更多错误
- 该对象具有与成员函数不兼容的类型限定符.为什么会出现此错误?
- 如何在类模板的成员函数中正确调用函数对象?正在生成 Visual Studio 编译器错误 C2440
- 尝试将对象插入空指针数组时出现分段错误
- 错误:三元运算符无法在对象中正常工作"cout"
- C++:如果括号为空,为什么不抛出错误对象?
- qt vsaddin错误对象引用未设置为对象的istanse
- 如何从函数返回成功或错误对象?
- 复制构造函数错误:对象的类型限定符与成员函数不兼容
- 如何在本机插件中创建node.js错误对象