需要帮助制作构造器吗 我需要帮助我的C++代码。 我需要在这段代码中为类Posao创建构造函数和对象。但当我做构造器时,它显示了我的错误 #include<iostream> #include<string> using namespace std; class Radnik { private: string ime; string prezime; int koeficijentSS; bool zaposlen; public: Radnik(string, string, int, bool); string getIme(); string getPrezime(); int getKoeficijent(); bool getStatus(); void promeniIme(string); void promeniPrezime(string); void promeniKoeficijent(int); void promeniStatus(bool); }; class Posao: public Radnik { private: Radnik radnik1; Radnik radnik2; public: void PromeniRadnik1(Radnik); void PromeniRadnik2(Radnik); }; Radnik::Radnik(string a, string b, int c, bool d) { ime = a; prezime = b; koeficijentSS = c; zaposlen = d; } string Radnik::getIme() { return ime; } string Radnik::getPrezime() { return prezime; } int Radnik::getKoeficijent() { return koeficijentSS; } bool Radnik::getStatus() { return zaposlen; } void Radnik::promeniIme(string e) { ime = e; } void Radnik::promeniPrezime(string f) { prezime = f; } void Radnik::promeniKoeficijent(int g) { koeficijentSS = g; } void Radnik::promeniStatus(bool h) { zaposlen = h; } void Posao::PromeniRadnik1(Radnik x) { radnik1.promeniIme(x.getIme()); radnik1.promeniPrezime(x.getPrezime()); radnik1.promeniKoeficijent(x.getKoeficijent()); radnik1.promeniStatus(x.getStatus()); } void Posao::PromeniRadnik2(Radnik y) { radnik2.promeniIme(y.getIme()); radnik2.promeniPrezime(y.getPrezime()); radnik2.promeniKoeficijent(y.getKoeficijent()); radnik2.promeniStatus(y.getStatus()); } int main() { Radnik radnikPrvi("djuro", "djuric", false, 3); Radnik radnikDrugi("momcilo", "sportista", true, 2); Radnik radnikTreci("gavrilo", "burek", false, 1); return 0; } #包括 #包括 使用名称空间std; 拉德尼克级 { 私人: 字符串输入法; 弦乐; int koeficijentSS; 布尔·扎波斯伦; 公众: Radnik(string,string,int,bool); 字符串getIme(); 字符串getPrezime(); int getKoeficijent(); bool getStatus(); 无效Promenime(字符串); 无效promeniPrezime(字符串); 无效promeniKoeficijent(int); 无效承诺状态(bool); }; Posao类:公共Radnik { 私人: Radnik radnik1; Radnik radnik2; 公众: 无效PromeniRadnik1(Radnik); 无效PromeniRadnik2(Radnik); }; Radnik::Radnik(字符串a、字符串b、整数c、布尔d) { ime=a; prezime=b; koeficijentSS=c; zaposlen=d; } 字符串Radnik::getIme() { 返回输入法; } 字符串Radnik::getPrezime() { 返回prezime; } int Radnik::getKoeficijent() { 返回koeficijentSS; } bool Radnik::getStatus() { 返回zaposlen; } void Radnik::promenime(字符串e) { ime=e; } void Radnik::promeniPrezime(字符串f) { prezime=f; } void Radnik::promeniKoeficijent(int g) { koeficijentSS=g; } void Radnik::promenistus(bool h) { zaposlen=h; } void Posao::PromeniRadnik1(Radnik x) { radnik1.promenime(x.getIme()); radnik1.promeniPrezime(x.getPrezime()); radnik1.promeniKoeficijent(x.getKoeficijent()); radnik1.promenistus(x.getStatus()); } void Posao::PromeniRadnik2(Radnik y) { radnik2.promenime(y.getIme()); radnik2.promeniPrezime(y.getPrezime()); radnik2.promeniKoeficijent(y.getKoeficijent()); radnik2.promenistus(y.getStatus()); } int main() { Radnik radnikPrvi(“djuro”,“Djuri”,假,3); Radnik radnikDrugi(“momcilo”,“sportista”,真实,2); Radnik Radniktraci(“gavrilo”,“burek”,假,1); 返回0; }

需要帮助制作构造器吗 我需要帮助我的C++代码。 我需要在这段代码中为类Posao创建构造函数和对象。但当我做构造器时,它显示了我的错误 #include<iostream> #include<string> using namespace std; class Radnik { private: string ime; string prezime; int koeficijentSS; bool zaposlen; public: Radnik(string, string, int, bool); string getIme(); string getPrezime(); int getKoeficijent(); bool getStatus(); void promeniIme(string); void promeniPrezime(string); void promeniKoeficijent(int); void promeniStatus(bool); }; class Posao: public Radnik { private: Radnik radnik1; Radnik radnik2; public: void PromeniRadnik1(Radnik); void PromeniRadnik2(Radnik); }; Radnik::Radnik(string a, string b, int c, bool d) { ime = a; prezime = b; koeficijentSS = c; zaposlen = d; } string Radnik::getIme() { return ime; } string Radnik::getPrezime() { return prezime; } int Radnik::getKoeficijent() { return koeficijentSS; } bool Radnik::getStatus() { return zaposlen; } void Radnik::promeniIme(string e) { ime = e; } void Radnik::promeniPrezime(string f) { prezime = f; } void Radnik::promeniKoeficijent(int g) { koeficijentSS = g; } void Radnik::promeniStatus(bool h) { zaposlen = h; } void Posao::PromeniRadnik1(Radnik x) { radnik1.promeniIme(x.getIme()); radnik1.promeniPrezime(x.getPrezime()); radnik1.promeniKoeficijent(x.getKoeficijent()); radnik1.promeniStatus(x.getStatus()); } void Posao::PromeniRadnik2(Radnik y) { radnik2.promeniIme(y.getIme()); radnik2.promeniPrezime(y.getPrezime()); radnik2.promeniKoeficijent(y.getKoeficijent()); radnik2.promeniStatus(y.getStatus()); } int main() { Radnik radnikPrvi("djuro", "djuric", false, 3); Radnik radnikDrugi("momcilo", "sportista", true, 2); Radnik radnikTreci("gavrilo", "burek", false, 1); return 0; } #包括 #包括 使用名称空间std; 拉德尼克级 { 私人: 字符串输入法; 弦乐; int koeficijentSS; 布尔·扎波斯伦; 公众: Radnik(string,string,int,bool); 字符串getIme(); 字符串getPrezime(); int getKoeficijent(); bool getStatus(); 无效Promenime(字符串); 无效promeniPrezime(字符串); 无效promeniKoeficijent(int); 无效承诺状态(bool); }; Posao类:公共Radnik { 私人: Radnik radnik1; Radnik radnik2; 公众: 无效PromeniRadnik1(Radnik); 无效PromeniRadnik2(Radnik); }; Radnik::Radnik(字符串a、字符串b、整数c、布尔d) { ime=a; prezime=b; koeficijentSS=c; zaposlen=d; } 字符串Radnik::getIme() { 返回输入法; } 字符串Radnik::getPrezime() { 返回prezime; } int Radnik::getKoeficijent() { 返回koeficijentSS; } bool Radnik::getStatus() { 返回zaposlen; } void Radnik::promenime(字符串e) { ime=e; } void Radnik::promeniPrezime(字符串f) { prezime=f; } void Radnik::promeniKoeficijent(int g) { koeficijentSS=g; } void Radnik::promenistus(bool h) { zaposlen=h; } void Posao::PromeniRadnik1(Radnik x) { radnik1.promenime(x.getIme()); radnik1.promeniPrezime(x.getPrezime()); radnik1.promeniKoeficijent(x.getKoeficijent()); radnik1.promenistus(x.getStatus()); } void Posao::PromeniRadnik2(Radnik y) { radnik2.promenime(y.getIme()); radnik2.promeniPrezime(y.getPrezime()); radnik2.promeniKoeficijent(y.getKoeficijent()); radnik2.promenistus(y.getStatus()); } int main() { Radnik radnikPrvi(“djuro”,“Djuri”,假,3); Radnik radnikDrugi(“momcilo”,“sportista”,真实,2); Radnik Radniktraci(“gavrilo”,“burek”,假,1); 返回0; },c++,class,constructor,C++,Class,Constructor,你能告诉我如何为类Posao创建带参数和对象的构造函数吗 我需要这个学校项目。希望你能找到解决办法。谢谢 提前感谢,, 黑加法器由于Posao从Radnik继承,Posao的构造函数将调用Radnik的构造函数。 正如user4581301所说,Radnik没有默认构造函数,这是编译器可以为您调用的唯一构造函数,因此您必须使用它显式地调用它 但是,你真的想让波索继承拉德尼克的遗产吗?似乎您希望Posao使用Radnik,但不要成为Radnik子类 你能告诉我如何用参数和对象构造构造函数吗 对于班

你能告诉我如何为类Posao创建带参数和对象的构造函数吗

我需要这个学校项目。希望你能找到解决办法。谢谢

提前感谢,,
黑加法器

由于Posao从Radnik继承,Posao的构造函数将调用Radnik的构造函数。 正如user4581301所说,Radnik没有默认构造函数,这是编译器可以为您调用的唯一构造函数,因此您必须使用它显式地调用它

但是,你真的想让波索继承拉德尼克的遗产吗?似乎您希望Posao使用Radnik,但不要成为Radnik子类

你能告诉我如何用参数和对象构造构造函数吗 对于班上的波索

首先,在类
Radnik
中需要一个默认构造函数,当您将参数传递给类
Posao
的构造函数时,将调用该构造函数。 这可以通过简单的方法实现

Radnik() = default;
带有参数的类
Posao
的构造函数如下所示

Posao(std::string a1, std::string b1, int c1, bool d1,
      std::string a2, std::string b2, int c2, bool d2)
    :radnik1(a1, b1, c1, d1),
     radnik2(a2, b2, c2, d2)
    {}
Posao(Radnik r1, Radnik r2)
        :radnik1(r1), radnik2(r2)
        {}
Posao
的构造函数,其对象为
Radnik
,如下所示

Posao(std::string a1, std::string b1, int c1, bool d1,
      std::string a2, std::string b2, int c2, bool d2)
    :radnik1(a1, b1, c1, d1),
     radnik2(a2, b2, c2, d2)
    {}
Posao(Radnik r1, Radnik r2)
        :radnik1(r1), radnik2(r2)
        {}
拥有这两个类后,在
main()
中,可以创建类
Posao
的实例,如下所示:

int main()
{
    //carefull while passing para:
    //          Radnik(string a, string b, int c, bool d)
    Radnik radnikPrvi("djuro", "djuric", 3, false);
    Radnik radnikDrugi("momcilo", "sportista", 2, true );

    // constructor with parameters
    Posao obj_parameters("ime1", "prezime1", 1, true,
                         "ime2", "prezime2", 2, false);
    // constructor with Radnik objects object
    Posao obj_objets(radnikPrvi, radnikDrugi);
    return 0;
}
在构造函数中使用,而不是创建和分配,这始终是一个很好的实践。然后,您还必须注意,初始值设定项列表需要按照您在private中声明的顺序使用参数

main()
中,您将
bool
int
参数放错了位置

                                         |||||  |
    Radnik radnikPrvi("djuro", "djuric", false, 3);
    Radnik radnikDrugi("momcilo", "sportista", true, 2);
    Radnik radnikTreci("gavrilo", "burek", false, 1);

Radnik
缺少默认构造函数,因此您似乎在寻找如何使用一个好的点。我不知道什么是<代码> POSAO < /COD>和<代码> RADNIK/<代码>,所以我甚至不考虑是否存在一个有效的IS-A关系。@ USER481301 POSOAO意味着工作,RADNIK是一个雇员工作者。Radnik拥有所有员工的数据,比如名字(ime)和姓氏(prezime),还有bool“zaposlen”,如果雇用,则为真,否则为假。实际上,当前的结构似乎不太合理。@atru谢谢。@user4581301欣然:)