{"id":1351,"date":"2025-02-04T00:50:22","date_gmt":"2025-02-03T16:50:22","guid":{"rendered":"https:\/\/www.laixuexila.com\/?p=1351"},"modified":"2025-02-06T23:48:43","modified_gmt":"2025-02-06T15:48:43","slug":"%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8b%ef%bc%88oop%ef%bc%89%e5%9c%a8c%e4%b8%ad%e7%9a%84%e5%ba%94%e7%94%a8%ef%bc%9a%e7%b1%bb%e4%b8%8e%e7%bb%a7%e6%89%bf","status":"publish","type":"post","link":"https:\/\/www.laixuexila.com\/index.php\/2025\/02\/04\/%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8b%ef%bc%88oop%ef%bc%89%e5%9c%a8c%e4%b8%ad%e7%9a%84%e5%ba%94%e7%94%a8%ef%bc%9a%e7%b1%bb%e4%b8%8e%e7%bb%a7%e6%89%bf\/","title":{"rendered":"\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08OOP\uff09\u5728C++\u4e2d\u7684\u5e94\u7528\uff1a\u7c7b\u4e0e\u7ee7\u627f"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>\u7c7b\u4e0e\u5bf9\u8c61<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c7b\u7684\u5b9a\u4e49\u4e0e\u5bf9\u8c61\u7684\u521b\u5efa<\/strong><br>\u7c7b\u662f\u5bf9\u8c61\u7684\u84dd\u56fe\uff0c\u5b83\u5b9a\u4e49\u4e86\u5bf9\u8c61\u7684\u5c5e\u6027\uff08\u6210\u5458\u53d8\u91cf\uff09\u548c\u884c\u4e3a\uff08\u6210\u5458\u51fd\u6570\uff09\u3002\u901a\u8fc7\u7c7b\u521b\u5efa\u7684\u5b9e\u4f53\u5c31\u662f\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Car {\n  public:\n      int speed;\n      void drive() { std::cout &lt;&lt; \"Driving at \" &lt;&lt; speed &lt;&lt; \" km\/h\" &lt;&lt; std::endl; }\n  };\n\n  Car myCar;  \/\/ \u521b\u5efa\u5bf9\u8c61\n  myCar.speed = 100;  \/\/ \u8bbe\u7f6e\u5bf9\u8c61\u5c5e\u6027\n  myCar.drive();  \/\/ \u8c03\u7528\u5bf9\u8c61\u65b9\u6cd5<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570\u4e0e\u6790\u6784\u51fd\u6570<\/strong><br>\u6784\u9020\u51fd\u6570\u5728\u5bf9\u8c61\u521b\u5efa\u65f6\u81ea\u52a8\u8c03\u7528\uff0c\u7528\u4e8e\u521d\u59cb\u5316\u5bf9\u8c61\u7684\u72b6\u6001\uff1b\u6790\u6784\u51fd\u6570\u5728\u5bf9\u8c61\u9500\u6bc1\u65f6\u8c03\u7528\uff0c\u7528\u4e8e\u91ca\u653e\u8d44\u6e90\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class MyClass {\n  public:\n      MyClass() { std::cout &lt;&lt; \"Constructor called\" &lt;&lt; std::endl; }\n      ~MyClass() { std::cout &lt;&lt; \"Destructor called\" &lt;&lt; std::endl; }\n  };\n  MyClass obj;  \/\/ \u521b\u5efa\u5bf9\u8c61\uff0c\u6784\u9020\u51fd\u6570\u88ab\u8c03\u7528<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u6210\u5458\u51fd\u6570\u4e0e\u6210\u5458\u53d8\u91cf<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6210\u5458\u51fd\u6570<\/strong><br>\u6210\u5458\u51fd\u6570\u662f\u7c7b\u7684\u884c\u4e3a\u5b9a\u4e49\uff0c\u901a\u8fc7\u5bf9\u8c61\u8c03\u7528\u6267\u884c\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Box {\n  public:\n      int length;\n      void setLength(int len) { length = len; }\n      int getLength() { return length; }\n  };\n  Box box;\n  box.setLength(5);\n  std::cout &lt;&lt; \"Length: \" &lt;&lt; box.getLength() &lt;&lt; std::endl;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6210\u5458\u53d8\u91cf<\/strong><br>\u6210\u5458\u53d8\u91cf\u662f\u7c7b\u7684\u5c5e\u6027\uff0c\u7528\u4e8e\u5b58\u50a8\u5bf9\u8c61\u7684\u72b6\u6001\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Circle {\n  public:\n      double radius;\n  };\n  Circle circle;\n  circle.radius = 7.5;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u8bbf\u95ee\u63a7\u5236\uff08public\u3001private\u3001protected\uff09<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>public<\/strong>\uff1a\u6210\u5458\u5bf9\u6240\u6709\u7c7b\u548c\u5916\u90e8\u4ee3\u7801\u53ef\u89c1\u3002<\/li>\n\n\n\n<li><strong>private<\/strong>\uff1a\u6210\u5458\u4ec5\u5bf9\u7c7b\u7684\u6210\u5458\u51fd\u6570\u548c\u53cb\u5143\u53ef\u89c1\u3002<\/li>\n\n\n\n<li><strong>protected<\/strong>\uff1a\u6210\u5458\u5bf9\u7c7b\u53ca\u6d3e\u751f\u7c7b\u53ef\u89c1\uff0c\u4f46\u5916\u90e8\u4e0d\u53ef\u8bbf\u95ee\u3002 \u793a\u4f8b\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Employee {\n  private:\n      int salary;\n  public:\n      void setSalary(int s) { salary = s; }\n      int getSalary() { return salary; }\n  };<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>this\u6307\u9488<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>this\u6307\u9488<\/strong>\u662f\u7c7b\u7684\u6210\u5458\u51fd\u6570\u9690\u5f0f\u4f20\u9012\u7684\u6307\u9488\uff0c\u6307\u5411\u5f53\u524d\u5bf9\u8c61\u7684\u5730\u5740\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Person {\n  public:\n      void setAge(int age) {\n          this-&gt;age = age;  \/\/ \u4f7f\u7528this\u6307\u9488\u8bbf\u95ee\u6210\u5458\u53d8\u91cf\n      }\n  private:\n      int age;\n  };<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u7ee7\u627f<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u57fa\u7c7b\u4e0e\u6d3e\u751f\u7c7b<\/strong><br>\u7ee7\u627f\u5141\u8bb8\u4e00\u4e2a\u7c7b\u4ece\u53e6\u4e00\u4e2a\u7c7b\u7ee7\u627f\u5c5e\u6027\u548c\u884c\u4e3a\u3002\u57fa\u7c7b\u662f\u88ab\u7ee7\u627f\u7684\u7c7b\uff0c\u6d3e\u751f\u7c7b\u662f\u7ee7\u627f\u7c7b\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Animal {\n  public:\n      void eat() { std::cout &lt;&lt; \"Eating...\" &lt;&lt; std::endl; }\n  };\n  class Dog : public Animal {  \/\/ Dog\u7ee7\u627fAnimal\n  public:\n      void bark() { std::cout &lt;&lt; \"Barking!\" &lt;&lt; std::endl; }\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7ee7\u627f\u7684\u7c7b\u578b<\/strong><\/li>\n\n\n\n<li><strong>\u516c\u6709\u7ee7\u627f<\/strong>\uff08<code>public<\/code>\uff09\uff1a\u57fa\u7c7b\u7684<code>public<\/code>\u6210\u5458\u53d8\u4e3a\u6d3e\u751f\u7c7b\u7684<code>public<\/code>\u6210\u5458\u3002<\/li>\n\n\n\n<li><strong>\u79c1\u6709\u7ee7\u627f<\/strong>\uff08<code>private<\/code>\uff09\uff1a\u57fa\u7c7b\u7684<code>public<\/code>\u548c<code>protected<\/code>\u6210\u5458\u53d8\u4e3a\u6d3e\u751f\u7c7b\u7684<code>private<\/code>\u6210\u5458\u3002<\/li>\n\n\n\n<li><strong>\u4fdd\u62a4\u7ee7\u627f<\/strong>\uff08<code>protected<\/code>\uff09\uff1a\u57fa\u7c7b\u7684<code>public<\/code>\u548c<code>protected<\/code>\u6210\u5458\u53d8\u4e3a\u6d3e\u751f\u7c7b\u7684<code>protected<\/code>\u6210\u5458\u3002 \u793a\u4f8b\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Animal {\n  public:\n      void sound() { std::cout &lt;&lt; \"Some sound\" &lt;&lt; std::endl; }\n  };\n  class Dog : protected Animal {  \/\/ \u4fdd\u62a4\u7ee7\u627f\n  public:\n      void bark() { sound(); }\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6784\u9020\u51fd\u6570\u4e0e\u6790\u6784\u51fd\u6570\u7684\u7ee7\u627f<\/strong><br>\u6d3e\u751f\u7c7b\u53ef\u4ee5\u7ee7\u627f\u57fa\u7c7b\u7684\u6784\u9020\u51fd\u6570\uff0c\u4f46\u57fa\u7c7b\u7684\u6790\u6784\u51fd\u6570\u4e0d\u88ab\u7ee7\u627f\u3002\u6d3e\u751f\u7c7b\u5fc5\u987b\u81ea\u5df1\u5b9a\u4e49\u6790\u6784\u51fd\u6570\u6765\u91ca\u653e\u8d44\u6e90\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u865a\u51fd\u6570\u4e0e\u591a\u6001\uff08\u52a8\u6001\u7ed1\u5b9a\uff09<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570<\/strong><br>\u865a\u51fd\u6570\u7528\u4e8e\u5b9e\u73b0\u591a\u6001\uff0c\u5b83\u5728\u57fa\u7c7b\u4e2d\u58f0\u660e\u5e76\u4e14\u901a\u8fc7\u6307\u9488\u6216\u5f15\u7528\u8c03\u7528\u65f6\u4f1a\u52a8\u6001\u7ed1\u5b9a\u5230\u6d3e\u751f\u7c7b\u7684\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Shape {\n  public:\n      virtual void draw() { std::cout &lt;&lt; \"Drawing Shape\" &lt;&lt; std::endl; }\n  };\n  class Circle : public Shape {\n  public:\n      void draw() override { std::cout &lt;&lt; \"Drawing Circle\" &lt;&lt; std::endl; }\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u591a\u6001\u7684\u5b9e\u73b0\uff1a\u57fa\u7c7b\u6307\u9488\u6307\u5411\u6d3e\u751f\u7c7b\u5bf9\u8c61<\/strong><br>\u901a\u8fc7\u57fa\u7c7b\u6307\u9488\u8c03\u7528\u865a\u51fd\u6570\u65f6\uff0cC++\u4f1a\u6839\u636e\u5b9e\u9645\u5bf9\u8c61\u7684\u7c7b\u578b\u52a8\u6001\u51b3\u5b9a\u8c03\u7528\u54ea\u4e00\u4e2a\u51fd\u6570\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  Shape* shape = new Circle();\n  shape-&gt;draw();  \/\/ \u8c03\u7528Circle\u7c7b\u7684draw\u51fd\u6570<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u591a\u6001<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u51fd\u6570\u91cd\u8f7d\u4e0e\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/strong><br>\u51fd\u6570\u91cd\u8f7d\u5141\u8bb8\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u4f46\u5176\u53c2\u6570\u7c7b\u578b\u6216\u6570\u91cf\u4e0d\u540c\u3002\u8fd0\u7b97\u7b26\u91cd\u8f7d\u5141\u8bb8\u81ea\u5b9a\u4e49\u8fd0\u7b97\u7b26\u7684\u884c\u4e3a\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Complex {\n  public:\n      int real, imag;\n      Complex operator+(const Complex&amp; other) {\n          Complex temp;\n          temp.real = this-&gt;real + other.real;\n          temp.imag = this-&gt;imag + other.imag;\n          return temp;\n      }\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570\u4e0e\u7eaf\u865a\u51fd\u6570<\/strong><\/li>\n\n\n\n<li><strong>\u865a\u51fd\u6570<\/strong>\uff1a\u57fa\u7c7b\u4e2d\u58f0\u660e\u7684\u865a\u51fd\u6570\u5141\u8bb8\u6d3e\u751f\u7c7b\u91cd\u5199\u3002<\/li>\n\n\n\n<li><strong>\u7eaf\u865a\u51fd\u6570<\/strong>\uff1a\u57fa\u7c7b\u4e2d\u7684\u865a\u51fd\u6570\uff0c\u6ca1\u6709\u5b9e\u73b0\uff0c\u5f3a\u5236\u6d3e\u751f\u7c7b\u5b9e\u73b0\u8be5\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Shape {\n  public:\n      virtual void draw() = 0;  \/\/ \u7eaf\u865a\u51fd\u6570\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u62bd\u8c61\u7c7b<\/strong><br>\u5305\u542b\u7eaf\u865a\u51fd\u6570\u7684\u7c7b\u79f0\u4e3a\u62bd\u8c61\u7c7b\uff0c\u4e0d\u80fd\u5b9e\u4f8b\u5316\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Shape {\n  public:\n      virtual void draw() = 0;\n  };<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5c01\u88c5\u4e0e\u62bd\u8c61<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u9690\u85cf<\/strong><br>\u5c01\u88c5\u901a\u8fc7\u5c06\u6570\u636e\u548c\u65b9\u6cd5\u7ec4\u7ec7\u5728\u7c7b\u4e2d\uff0c\u5e76\u5c06\u6570\u636e\u7684\u8bbf\u95ee\u9650\u5236\u4e3a\u79c1\u6709\uff08<code>private<\/code>\uff09\uff0c\u4ece\u800c\u5b9e\u73b0\u6570\u636e\u9690\u85cf\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class BankAccount {\n  private:\n      double balance;\n  public:\n      void deposit(double amount) { balance += amount; }\n      double getBalance() { return balance; }\n  };<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u63a5\u53e3\u4e0e\u62bd\u8c61\u7c7b<\/strong><br>\u62bd\u8c61\u7c7b\u662f\u4e00\u79cd\u7279\u6b8a\u7684\u63a5\u53e3\uff0c\u5b83\u53ea\u5305\u542b\u7eaf\u865a\u51fd\u6570\uff0c\u4e0d\u80fd\u76f4\u63a5\u521b\u5efa\u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Drawable {\n  public:\n      virtual void draw() = 0;  \/\/ \u62bd\u8c61\u7c7b\n  };<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u53cb\u5143\u51fd\u6570\u4e0e\u53cb\u5143\u7c7b<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53cb\u5143\u51fd\u6570<\/strong><br>\u53cb\u5143\u51fd\u6570\u53ef\u4ee5\u8bbf\u95ee\u7c7b\u7684\u79c1\u6709\u6210\u5458\uff0c\u5373\u4f7f\u5b83\u4e0d\u662f\u7c7b\u7684\u6210\u5458\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Box {\n  private:\n      int length;\n  public:\n      friend void printLength(Box b);  \/\/ \u58f0\u660e\u53cb\u5143\u51fd\u6570\n  };\n  void printLength(Box b) {\n      std::cout &lt;&lt; \"Length: \" &lt;&lt; b.length &lt;&lt; std::endl;\n  }<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53cb\u5143\u7c7b<\/strong><br>\u53cb\u5143\u7c7b\u53ef\u4ee5\u8bbf\u95ee\u53e6\u4e00\u4e2a\u7c7b\u7684\u79c1\u6709\u548c\u4fdd\u62a4\u6210\u5458\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  class Box {\n  private:\n      int length;\n  public:\n      friend class Printer;  \/\/ \u58f0\u660e\u53cb\u5143\u7c7b\n  };<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u603b\u7ed3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08OOP\uff09\u662fC++\u7684\u91cd\u8981\u7279\u6027\u4e4b\u4e00\uff0c\u901a\u8fc7\u7c7b\u4e0e\u5bf9\u8c61\u3001\u7ee7\u627f\u3001\u591a\u6001\u3001\u5c01\u88c5\u7b49\u673a\u5236\uff0c\u5e2e\u52a9\u7a0b\u5e8f\u5458\u7ec4\u7ec7\u4ee3\u7801\u3001\u63d0\u9ad8\u590d\u7528\u6027\u3001\u6269\u5c55\u6027\u4e0e\u7ef4\u62a4\u6027\u3002\u638c\u63e1OOP\u7684\u6982\u5ff5\u548c\u5b9e\u8df5\u662f\u7f16\u5199\u9ad8\u8d28\u91cfC++\u4ee3\u7801\u7684\u5173\u952e\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7c7b\u4e0e\u5bf9\u8c61 \u6210\u5458\u51fd\u6570\u4e0e\u6210\u5458\u53d8\u91cf \u8bbf\u95ee\u63a7\u5236\uff08public\u3001private\u3001protected\uff09 this\u6307\u9488 \u7ee7\u627f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[],"class_list":["post-1351","post","type-post","status-publish","format-standard","hentry","category-c"],"_links":{"self":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/comments?post=1351"}],"version-history":[{"count":1,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1351\/revisions"}],"predecessor-version":[{"id":1352,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1351\/revisions\/1352"}],"wp:attachment":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/media?parent=1351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/categories?post=1351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/tags?post=1351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}