Sınıfın kurucusunu arkadaş olarak ilan edebilir miyiz? Bence öyle olamaz. Ama olabileceği bir yer okudum ama yapamadım. Eğer evet ise, lütfen bir örnek kod sağlayabilirsiniz.Bir kurucu işlevi C++ 'da bir arkadaş olabilir mi?
24
A
cevap
30
Evet çalıştırılabilir: bir arkadaşı bildirimi bir aşırı ad veya operatöre işaret ettiğinde
class Y
{
public:
Y();
};
class X
{
private:
void foo() {}
friend Y::Y();
};
Y::Y()
{
X x; x.foo();
}
olarak başına 11.3 Arkadaş [class.friend]
5), tek işlevi belirtilen parametre türleri tarafından bir arkadaş olur.
(vurgu benim: sınıf X bir elemanı işlevi
[
class Y {
friend char* X::foo(int);
friend X::X(char); // constructors can be friends
friend X::~X(); // destructors can be friends
};
ucuna bağlı bir vaziyette, örneğin, Örnek] Bir sınıf Y bir arkadaş olabilir
İlgili konular
- 1. C++ 'da bir kolaylık kurucu var mı?
- 2. C++ 'da bir işleç + işlevi bildirme
- 3. Derleme zamanında C++ 'da bir üye işlevi
- 4. Yuvalanmış try-catch blokları C++ 'da olabilir mi?
- 5. C++ 'da basit bir sınıf nasıl yazılır?
- 6. Bir Lua işlevi mi saklıyorsunuz?
- 7. Özel devralma ile türetilmiş sınıftaki arkadaş işlevi
- 8. ModelAttribute ilkel olabilir mi?
- 9. Can C++ enable_if varsayılan bir uygulamaya sahip olabilir mi?
- 10. Bir FFI işlevi, değiştirilemeyen bir değişkeni değiştirebilir mi? C
- 11. Arkadaş Meclileri C#
- 12. libusb callback_in işlevi C++ 'da bir sınıfın üyesi olarak işlev
- 13. Sınıf bir ad alanı altındaysa, arkadaş işlevi özel işlev erişemiyor
- 14. Bu arkadaş işlevi sınıfın özel bir üyesine neden erişemiyor?
- 15. Kurucu işlevi için kısa el
- 16. C++: std :: tuple_size/tuple_element uzman olabilir mi?
- 17. Bir kurucu tanımsız davranışa bir üye işlevi olarak bir üye işlevi kullanıyor mu?
- 18. Bir fdopen() bellek sızıntısına neden olabilir mi?
- 19. Delegenin isteğe bağlı bir parametresi olabilir mi?
- 20. Bir Varyant özelliğinin varsayılan değeri olabilir mi?
- 21. Bir yayın operatörü açık olabilir mi?
- 22. Bir Görevde birden fazla bekçisi olabilir mi?
- 23. Resharper bir süre kapalı olabilir mi?
- 24. Raylarda tarihsiz bir zamanınız olabilir mi?
- 25. Neden ÖZEL üye işlevi başka bir sınıfın arkadaş işlevi olamaz? Ben özel bir üye işlev başka bir sınıfın bir arkadaş olmak beyan edemez Neden
- 26. C++ - arkadaş dosyalarının başlık dosyasında tanımlanması gerekir mi?
- 27. C++'da std :: multiset sabit bir sıralama düzenine sahip mi?
- 28. Dizi adı C++ 'da sabit bir işaretçi mi?
- 29. C# Genel Kopya Kurucu
- 30. Erişim belirteci bir arkadaş fonksiyonu için önemli mi?
Neden bütün bir sınıf arkadaşını bunun yerine ilan etmiyorsun? – wilx
kodunuzu gönderin. –
@KarolyHorvath: Bu genel olarak yararlıdır, ancak burada ne gösterirdiniz? 'arkadaş
MSalters