나는 내 C++ 코드를 캡슐화 할 수 있기를 바랄 수있다.그런 방식으로 반복자를 반환 할 수 있습니까?
const map<string,bool>::iterator getFollowers() {
return followers.begin();
}
const map<string,bool>::iterator getFollowing() {
return following.begin();
}
전체 코드 : 당신이 너무 CONST 액세스 방법을 추가 할 수 있습니다 것을 제외하고
#ifndef twitClient_twitUser_h
#define twitClient_twitUser_h
#include <map>
#include <iostream>
#include <string>
using namespace std;
class user {
string username;
map<string,bool> followers;
map<string,bool> following;
string name;
public:
user(string username):username(username) {
followers [username] = false;
following [username] = false;
}
bool removeFollower (string friendName);
bool addFollower(string friendName);
bool stopFollowing(string friendName);
bool startFollowing(string friendName);
const map<string,bool>::iterator getFollowers() {
return followers.begin();
}
const map<string,bool>::iterator getFollowing() {
return following.begin();
}
};
예, 괜찮습니다. – skirkpatrick
데이터를 액세스 할 수는 있지만 변경할 수는 없지만 'const map 및 getFollowers() const'와 같은 기능을 사용하지 않는 이유는 무엇입니까? iterator가 완전히 제어 할 수 없기 때문에 훨씬 더 편리합니다. 또한 많은 알고리즘에서 end iterator가 필요합니다. 그래서 나는 그러한 인 캡슐 레이션을 사용하지 말 것을 제안합니다. –
Spo1ler
@MatthieuM. 감사 – Spo1ler