原创 49_多繼承

多繼承的格式 class 子類: 繼承方式1 父類名1,繼承方式2 父類名2,繼承方式3 父類名3,.... { }; //表示子類 是由 父類名1,父類名2,父類名3...共同派生出來 class Base1 { public:

原创 47_父類和子類的同名 成員函數 處理

案例:1子類繼承父類所有成員函數 和成員變量 class Base { public: void func(void) { cout<<"父類中的void func"<<endl; } v

原创 50_菱形繼承

具有公共祖先 的多繼承 class Animal { public: int data; }; class Sheep:public Animal { public: }; class Tuo:public Animal {

原创 48_繼承中的靜態成員特性

class Base { public: //靜態成員屬於類 而不屬於對象 static int num; static int data; static void showData(void); }

原创 46_父類和子類的同名 成員變量 處理

1、當 父類和子類 成員變量同名時 在子類就近原則 選擇本作用域的子類成員 2、如果在子類中 必須使用父類中的同名成員 必須加上父類的作用域。 class Base { //父類的私有數據 一旦涉及繼承 在子類中不可見 publ

原创 45_詳解 子類中的構造

1、子類會默認調用 父類的 無參構造 2、子類 必須顯示 使用初始化列表 調用 父類的有參構造 調用形式:父類名稱。 Son(int a,int b):Base(a),b(b) { //this->b = b; } class

原创 44_子類中 有父類、對象成員 構造和析構的順序

父類的構造和析構 對象成員的構造和析構 子類自身的構造和析構 總結:(重要) class Other { public: Other() { cout<<"對象成員的構造函數"<<endl; }

原创 42_繼承的內層接結構

當前演示在vstudio中 class Base { public: int a; protected: int b; private: int c; }; class Son :public Base { p

原创 43_繼承中的構造和析構順序

class Base { public: Base() { cout<<"父類的無參構造函數"<<endl; } ~Base() { cout<<"父類中的析構函數

原创 41_繼承和派生的概述

1、繼承和派生的概述 繼承的優點:減少代碼的冗餘 提高代碼的重用性 2、繼承的格式 派生類定義格式: Class 派生類名 : 繼承方式 基類名{ //派生類新增的數據成員和成員函數 }; cla

原创 36_重載指針運算符* ->

#include <iostream> using namespace std; class Person { private: int num; public: Person(int num):num(num)

原创 37_重載=運算符

前提1:類中 沒有指針成員 不需要重載=運算符(默認的淺拷貝就可以完成) #include <iostream> using namespace std; class Person { private: int a;

原创 35_重載自增運算符

1、可重載的運算符 2、重載自增 或自減 ++ --運算符 operator++ 編譯器看到++a(前置++),它就調用operator++(a),當編譯器看到a++(後置++),它就會去調用operator++(a,int). #i

原创 38_等於和不等於(==、!=)運算符重載

//重載== ==出現在判斷語句中 bool operator==(Person &ob) { if(strcmp(this->name, ob.name) == 0) {

原创 39_函數調用符()的重載

#include <iostream> using namespace std; class Fun { public: int my_add(int x,int y) { return x+y;