Zhilong Li 4 tahun lalu
induk
melakukan
db8a154b50
3 mengubah file dengan 73 tambahan dan 30 penghapusan
  1. TEMPAT SAMPAH
      include/.try_class.hpp.swp
  2. 42 11
      include/try_class.hpp
  3. 31 19
      main.cpp

TEMPAT SAMPAH
include/.try_class.hpp.swp


+ 42 - 11
include/try_class.hpp

@@ -1,23 +1,54 @@
 #include<string>
 #include<list>
+#include<iostream>
 
-class something
+class YoutubeChannel
 {
-    public:
+    private:
         std::string name;
-        std::string kind;
-        int value;
-        std::list<int> value_list;
+        std::string ownerName;
+        int subscribersCount;
+        std::list<std::string> videoList;
 
-        something(std::string _name, std::string _kind, int _value)
+    public:
+        YoutubeChannel(std::string _name, std::string _owner, int _value)
         {
             name = _name;
-            kind = _kind;
-            value = _value;
+            ownerName = _owner;
+            subscribersCount = _value;
+        }
+
+        void subscribe()
+        {
+            subscribersCount++;
+        }
+
+        void unsubscribe()
+        {
+            if (subscribersCount>0)
+                subscribersCount--;
+            else
+            {
+                std::cout<<"Can't unsubscribe this channel"<<std::endl;
+            }
+        }
+
+        void pub_video(std::string v)
+        {
+            videoList.push_back(v);
         }
 
-        void add_value(int v)
+        void show_info()
         {
-            value_list.push_back(v);
+            std::cout<<"**************************"<<std::endl;
+            std::cout<<"Name: "<<name<<std::endl;
+            std::cout<<"Owner: "<<ownerName<<std::endl;
+            std::cout<<"Subscribers: "<<subscribersCount<<std::endl;
+            std::cout<<"Videos:"<<std::endl;
+            for (std::string _value:videoList)
+            {
+                std::cout<<"\t"<< _value <<std::endl;
+            }
+            std::cout<<"**************************"<<std::endl;
         }
-};
+};

+ 31 - 19
main.cpp

@@ -8,28 +8,40 @@ int main()
     // test_char();
     // rotate();
     // test_func();
-    int num;
-    std::cout << "Input a num to check if it's prime num:\n> ";
-    std::cin >> num;
-    printf(isPrimeNum(num)?"Yes\n":"No\n");
+    // int num;
+    // std::cout << "Input a num to check if it's prime num:\n> ";
+    // std::cin >> num;
+    // printf(isPrimeNum(num)?"Yes\n":"No\n");
 
-    int a = 3, b = 87;
-    std::cout << "A is " << a << " and B is " << b << std::endl;
-    swap(a, b);
-    std::cout << "A is " << a << " and B is " << b << std::endl;
-    char c = 'c', d = 'd';
-    std::cout << "C is " << c << " and D is " << d << std::endl;
-    swap(c, d);
-    std::cout << "C is " << c << " and B is " << d << std::endl;
+    //////////////////////
+    // Reference parameter
+    //
+    // int a = 3, b = 87;
+    // std::cout << "A is " << a << " and B is " << b << std::endl;
+    // swap(a, b);
+    // std::cout << "A is " << a << " and B is " << b << std::endl;
+    // char c = 'c', d = 'd';
+    // std::cout << "C is " << c << " and D is " << d << std::endl;
+    // swap(c, d);
+    // std::cout << "C is " << c << " and B is " << d << std::endl;
 
-    something gg("Man", "Human", 228);
-    gg.add_value(16);
-    gg.add_value(8);
-    std::cout << gg.name << std::endl;
-    std::cout << "Value list:" << std::endl;
-    for (int v : gg.value_list)
+    ///////////////
+    // Trying Class
+    //
+    YoutubeChannel gg("C++ tutorial", "Lzl", 0);
+    gg.pub_video("C++ for beginners 1");
+    gg.pub_video("C++ for beginners 2");
+    gg.show_info();
+    for (int subs=0; subs<98; subs++)
     {
-        std::cout << v << std::endl;
+        gg.subscribe();
     }
+    gg.show_info();
+    for (int unsubs=0; unsubs<15; unsubs++)
+    {
+        gg.unsubscribe();
+    }
+    gg.show_info();
+
     return 0;
 }