Pliki zewnętrzne
Część sekcji Programowanie obiektowe ścieżki C++ w Coddy. Lekcja 1 z 104.
W C++ kod jest podzielony na wiele plików i łączony za pomocą dyrektyw #include.
Osobny plik MyClass.h
#include <string>
class MyClass {
public:
std::string greet() {
return "Hello from MyClass!";
}
};Dołącz go i użyj w pliku głównym
#include <iostream>
#include "MyClass.h"
int main() {
MyClass obj;
std::cout << obj.greet() << std::endl;
return 0;
}Wynik:
Hello from MyClass!Używaj cudzysłowów podwójnych "" w przypadku własnych plików, a nawiasów ostrych <> w przypadku nagłówków systemowych/bibliotecznych. Dyrektywa #include kopiuje zawartość pliku do kodu źródłowego przed kompilacją.
Wyzwanie
ŁatwyDołącz plik nagłówkowy MyClass.h w pliku main.cpp, utwórz obiekt MyClass i wypisz wynik wywołania greet().
Format wypisywania: Greeting: <result>
Spróbuj swoich sił
#include <iostream>
#include <string>
// TODO: Dołącz plik nagłówkowy MyClass
int main() {
std::string testCase;
std::getline(std::cin, testCase);
// TODO: Utwórz obiekt MyClass i wywołaj greet()
std::cout << "Test completed" << std::endl;
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneBudowanie i kompilacja C++Pliki nagłówkowe i pliki źródłowePrzestrzenie nazw i zakresWprowadzenie do programowania obiektowego w C++Klasy a obiektyWskaźnik „this”Metody (funkcje składowe)Atrybuty (składowe danych)Podstawy konstruktorów i destruktorówPowtórzenie – prosty kalkulator4Właściwości klas
Elementy instancji a elementy statyczneGettery i setteryStałe funkcje składoweSłowo kluczowe mutableMetody i zmienne statyczneFunkcje i klasy zaprzyjaźnionePodsumowanie – menedżer konta bankowego7Dziedziczenie
Podstawy dziedziczeniaPoziomy dostępu w dziedziczeniuKolejność wywołań konstruktora i destruktoraNadpisywanie metodFunkcje wirtualne i VTableWielokrotne dziedziczenieDziedziczenie wirtualnePowtórzenie — hierarchia pracowników2Zarządzanie pamięcią
Pamięć stosu a stertyWskaźniki i referencjePamięć dynamiczna (new/delete)Inteligentne wskaźniki w C++RAII w C++Podsumowanie — menedżer tablicy dynamicznej5Hermetyzacja
Specyfikatory dostępu w C++Specyfikatory dostępu — szczegółowoUkrywanie informacjiStruktura a klasaKlasy zagnieżdżone i wewnętrznePodsumowanie — system ewidencji studentów8Polimorfizm
Polimorfizm czasu kompilacji i wykonaniaPrzeciążanie funkcjiFunkcje wirtualne — powtórkaCzysto wirtualne funkcjeKlasy abstrakcyjneProjektowanie interfejsów w C++Rzutowanie dynamiczne i RTTIPodsumowanie — kalkulator kształtów3Konstruktory i destruktory
Konstruktor domyślnyKonstruktor z parametramiKonstruktor kopiującyKonstruktor przenoszącyListy inicjalizacyjne konstruktoraKonstruktory delegująceDestruktor — szczegółowe omówienieZasada trzech / pięciu / zeraPodsumowanie — klasa String6Przeciążanie operatorów
Wprowadzenie do przeciążania operatorówPrzeciążanie operatorów arytmetycznychPrzeciążanie operatorów porównaniaOperatory strumieniowePrzeciążanie operatora przypisaniaPrzeciążanie operatorów [] i ()Operatory konwersji typówPodsumowanie — klasa Matrix9Szablony
Szablony funkcjiSzablony klasSpecjalizacja szablonówSzablony wariadycznePodstawy SFINAE i cech typówPodsumowanie — kontener generycznyPoćwicz samodzielnie: Kompilator C++ online