Click here to Skip to main content
15,887,135 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Error: Expected primary-expression before '+' token

What I have tried:

C++
#include <iostream>
#include <string>
using namespace std;

class Book{
public:
    string namabuku;

    Book(string pnamabuku) :
        namabuku (pnamabuku){
        }
};

class Member{
public:
    string namamember;

    Member(string pnamamember) :
        namamember(pnamamember){
        }
};

class Petugas{
public:
    string namapetugas;

    Petugas(string pnamapetugas) :
        namapetugas(pnamapetugas){
        }
};

class perpus: private Book, public Member, public Petugas{
public:
    string perpustakaan;

    perpus(string pnamabuku, string pnamamember, string pnamapetugas) :
        Book(pnamabuku),
        Member(pnamamember),
        Petugas(pnamapetugas){
        }

        string Peminjaman(){
        return "Nama Buku " + Book + "dipinjam oleh" + Member + " nama Petugas " + Petugas + "\n\n";
        }
};

int main(){
    perpus Azril("Belajar Menggunakan Phyton","Azril Bagus", "Andin");
    cout<<Azril.meminjam();

    return 0;
}
Posted
Updated 10-Sep-20 4:12am
v2

Change from
Quote:
string Peminjaman(){
return "Nama Buku " + Book + "dipinjam oleh" + Member + " nama Petugas " + Petugas + "\n\n";
}

to
C++
        string Peminjaman(){
        return string("Nama Buku ") + namabuku + string("dipinjam oleh") + namamember + string(" nama Petugas ") + namapetugas + string("\n\n");
        }
};

and from
Quote:
cout<<azril.meminjam();
to
C++
cout<<Azril.Peminjaman();
 
Share this answer
 
v3
C++
return "Nama Buku " + Book + "dipinjam oleh" + Member + " nama Petugas " + Petugas + "\n\n";

You cannot concatenate strings and variables in that way. You need to use something like the <sstream> | Microsoft Docs[^] class.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900