Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ensimmäisen Mallin Luominen C++:ssa | Ensimmäisen Templaten Luominen
C++-Template-Luokat
Osio 1. Luku 3
single

single

Ensimmäisen Mallin Luominen C++:ssa

Pyyhkäise näyttääksesi valikon

Tarkastellaan, mitä tapahtuu, kun määrität eri tyyppejä mallille. Tätä varten käytät typeid().name(), joka yksinkertaisesti näyttää muuttujan tietotyypin. Katso alla olevaa esimerkkiä:

main.cpp

main.cpp

1234567
#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }
Note
Huomio

Yllä oleva koodiesimerkki näyttää konsolissa vain i, mikä tarkoittaa, että x on int.

Luodaan malli käyttämällä <typename Type> ja välitetään Type parametrina funktiolle sen sijaan, että määriteltäisiin tietty muuttuja.

main.cpp

main.cpp

12345678910111213
#include <iostream> template<typename Type> void check_type() { std::cout << typeid(Type).name() << std::endl; } int main() { // Try to change `int` to different type check_type<int>(); }

Kuten huomaat, kun kutsut mallifunktiota ja määrität tyypin hakasulkeissa, typename-parametri saa kyseisen tyypin. Malliparametrin nimi toimii käytännössä kyseisen tyypin aliaksena.

Voit myös käyttää tätä malliparametria funktion rungossa määritelläksesi muuttujia juuri sillä tyypillä.

main.cpp

main.cpp

12345678
template<typename Type> void create_variable() { Type value; // Variable of the template type value = Type(); // Default initialization std::cout << value << std::endl; }
Tehtävä

Pyyhkäise aloittaaksesi koodauksen

  • Muunna swap-funktio template-funktioksi:
    • määrittele template käyttämällä template-avainsanaa;
    • lisää template-parametrien lista;
    • lisää yksi parametri templatea varten.
  • Vaihda kaikki tyypit (int) template-parametrin typename-määrittelyyn.
  • Kutsu template-funktiota ja anna tyypiksi char, vaihtaen kahden muuttujan arvot main-funktiossa.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt