C++
C#
Dart
Kotlin
Rust
#include <iostream> template <typename T> class Person { public: Person(T id, std::string name) : id{id}, name{name} { } void print() const { std::cout << "Id: " << id << "\tName: " << name << std::endl; } private: T id; std::string name; }; int main() { // явная типизация Person<unsigned> tom1{123456, "Tom"}; tom1.print(); // Id: 123456 Name: Tom Person<std::string> bob1{"tvi4xhcfhr", "Bob"}; bob1.print(); // Id: tvi4xhcfhr Name: Bob // неявная типизация Person tom2{123456, "Tom"}; tom2.print(); // Id: 123456 Name: Tom Person bob2{"tvi4xhcfhr", "Bob"}; bob2.print(); // Id: tvi4xhcfhr Name: Bob }
Person<int> tom = new(123456, "Tom"); tom.Print(); Person<string> bob = new("tvi4xhcfhr", "Bob"); bob.Print(); class Person<T> { T id; // идентификатор пользователя string name; // имя пользователя public Person(T id, string name) { this.id = id; this.name = name; } public void Print() => Console.WriteLine($"id: {id} \t name: {name}"); }
class Person<T>{ T id; // идентификатор пользователя String name; // имя пользователя Person(this.id, this.name); void display() => print("id: $id \t name: $name"); } void main (){ Person tom = Person(123456, "Tom"); tom.display(); Person bob = Person("tvi4xhcfhr", "Bob"); bob.display(); }
fun main() { val tom = Person(123456, "Tom") tom.display() val bob = Person("tvi4xhcfhr", "Bob") bob.display() } class Person<T>(val id: T, val name: String){ fun display() = println("id: $id \t name: $name") }
struct Person<T>{ id: T, // идентификатор пользователя name: String // имя пользователя } impl<T:std::fmt::Display> Person<T>{ fn display(&self){ println!("id: {}\t name: {}", &self.id, &self.name); } } fn main(){ let tom = Person{id:123456, name:"Tom".to_string()}; tom.display(); let bob = Person{id:"tvi4xhcfhr", name: "Bob".to_string()}; bob.display(); }