क्या Rust में मौजूदा स्ट्रक्चर को उसके सभी फील्ड्स के साथ विस्तारित किया जा सकता है?
नमस्ते! मैंने C++ और Java के बाद अभी Rust सीखना शुरू किया है, और मुझे एक समस्या आई है।
C++ में मैं ऐसा कर सकता था:
```cpp
struct Base {
int x;
int y;
};
struct Derived : Base {
int z;
};
```
और Base के सभी फील्ड्स Derived में अपने आप आ जाते थे। Java में भी क्लास इनहेरिटेंस के साथ ऐसा ही होता है।
Rust में मैंने कुछ ऐसा करने की कोशिश की:
```rust
struct Base {
x: i32,
y: i32,
}
struct Derived {
// चाहता हूँ कि यहाँ Base के x और y हों
z: i32,
}
```
लेकिन कम्पाइलर त्रुटि देता है कि मैंने x और y फील्ड्स घोषित नहीं किए। मैं समझता हूँ कि Rust में क्लासिकल अर्थों में इनहेरिटेंस नहीं है, लेकिन मुझे एक स्ट्रक्चर के फील्ड्स को दूसरे में पुनः उपयोग करना है।
मुझे लगता है कि सभी फील्ड्स को कॉपी-पेस्ट करना एक भयानक प्रथा है। कल्पना करें कि Base में 20 फील्ड्स हों, और मैं 5 अलग-अलग स्ट्रक्चर बनाना चाहता हूँ।