7-28-下午复习
//private:除了本身類內 其余類不可調用
//protected:本身與派生類可以調用
//public:都可以調用
//例程
//地址分配上 先分配繼承來的 后分配自己聲明的
#include <iostream>#include <windows.h>using namespace std;class A { public:int m_a;int m_b;A();~A(); }; A::A() {cout << "constuctor A ok~" << endl; }A::~A() {cout << "destuct A ok~" << endl; }class B :public A { public:int m_c;B();~B(); };B::B() {cout << "constuctor B ok~" << endl; } B::~B() {cout << "destuct B ok~" << endl; }int main() {B b1;cout << &b1.m_a << endl;cout << &b1.m_b << endl; cout << &b1.m_c << endl;system("pause");return 0; }//初始化的時候 構造的順序是 父類 --> 成員 --> 自己 這個是語法規定的 沒有為什么
#include <iostream>#include <windows.h>using namespace std;class A { public:int m_a;int m_b;A(int a);~A();void printA(); }; A::A(int a) {cout << "constuctor A ok~" << endl;m_a = a; }A::~A() {cout << "destuct A ok~" << endl; }void A::printA() {cout << m_a << endl; }class C { public:int m_c;C(int c); };C::C(int c) {m_c = c;cout << "constuctor C ok~" << endl; }class B :public A { public:int m_c;B(int b);~B();void printB();C c;const int d; };B::B(int b) : A(b), c(b) , d(b)//初始化列表 這個順序無所謂 {cout << "constuctor B ok~" << endl;m_b = b; }B::~B() {cout << "destuct B ok~" << endl; }void B::printB() {cout << m_b << endl; }int main() {B b1(1);b1.printA();b1.printB();system("pause");return 0; }類的繼承中 父類子類出現同名成員變量 ?依然繼承 只是調用的時候 調用自己的
#include <iostream>#include <windows.h>using namespace std;class A { public:int m_a;int m_b;};class B :public A { public:int m_b;int m_c; };int main() {B b1;cout << sizeof(b1) << endl;cout << &b1.m_a << endl;cout << &b1.m_b << endl;cout << &b1.A::m_b << endl;cout << &b1.m_c << endl;system("pause");return 0; }總結
- 上一篇: 复习之 c实现 通讯录
- 下一篇: 7-28晚复习 虚继承与地址分配