Vấn đề về class trong C++

Xin chào mọi người, cho em hỏi là ở dòng cout << ABC.getname << endl ;cout << ABC.getname() << endl ;
Viết như thế nào là đúng ạ ? Sao em viết cả hai đều có lỗi cả @@

#include <iostream>

using namespace std;

class lophoc
{
public:
	void setname(string ced){
		
		ced = name;
	}
	string getname(){
		return name;
	}
	
private:
	string name;
};
void main()
{
	lophoc ABC;
	ABC.setname(" Xin chao thi chu") ;
	cout << ABC.getname << endl ;
	system("pause");
	
	
	
}

Việc gọi tới một phương thức (method) trong class thì

cout << ABC.getname() << endl ;

@@ Để vậy thì nó báo lỗi thế này:
IntelliSense: no operator “<<” matches these operands operand types are: std::ostream << std::string

void string setname();
void string getname();

Bạn không định kiểu trả về cho phương thức

1 Like

Vẫn không được bạn ơi :frowning: Bạn nói rõ hơn giúp mình được không ạ @@

Mục đích của bạn là lấy về giá trị của name và đặt giá trị cho nó phải không ?
Nếu vậy thì bạn phải tạo hai phương thức riêng biệt
1 là getname();
2 là setname(string name);

Mình viết như vậy không đúng hả bạn ?

void setname(string ced){
name = ced;
}
string getname(){
return name;
}

Bạn thử coi sao ?

Lỗi rồi bạn ơi, vừa khai báo kiểu void + string đâu được bạn @@

1 Like

Quen tay ghi lộn :confounded:

Bài của bạn nhầm ở hai chỗ này
1

2

Minh sửa lại rồi @@ Sao nó vẫn báo lỗi ở dòng cout là sao ta.

#include <iostream>

    using namespace std;

    class lophoc
{
public:
	void setname(string ced ){
		name = ced;		
	}
	
	string getname(){
		return name;
	}
	
	
private:
	string name;
};
void main()
{
	lophoc ABC;
	ABC.setname(" Xin chao thi chu") ;
	cout << ABC.getname() << endl ;
	system("pause");	
	
}

Mình thấy có lỗi gì đâu ???

Đây bạn ơi @@

Bỏ cái dấu cách giữa cout và << đi.

Xài string không cần thư viện à ???
Nó báo lỗi không hiểu kìa.

2 Likes

:joy::joy::joy::joy: Rồi được rồi bro ơi. Cám ơn nhiều ạ

Với lại int main() chứ đừng void main()

1 Like

Sao phải dùng như vậy vậy bro ?

Để sau này đi phỏng vấn không có bị rớt :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?