首页 > 代码库 > C++_01_入门

C++_01_入门

一、类的定义
Person.h类声明

Person.cpp类实现

main.cpp主函数

二、命名空间的使用


Xcode格式化代码:快捷键ctrl + i

主函数:


三、类的继承
父类Person


子类Girl

 Java PHP中使用关键定extends

 c++冒号表示继承,Objective-C 一样

 冒号后面的public表示,继承过来的东东公开



主函数main.cpp

四、构造和析构方法
类Object


main.cpp主函数

五、执行父类的【构造方法
父类Person


子类Girl

// 调用父类的构造方法 cpp是通过冒号实现

// JavaObjective-C是通过 super关键字

// PHP使用parent关键字


main.cpp主函数

六、调用父类的方法
C++由于没有super关键字,因此,通过【父类名::方法()】调用某个父类的方法

C++还可以指定 调用哪一级父类的方法

// 由于c++没有super关键字,所以调用父类的方法:用的是【父类名::方法()

// 好处就是,不管有多少重继承,都可以通过 父类名 去指定调用某一级的父类 的方法;

因此,比Java中的super关键字要强大


父类Person


子类Girl


七、实函数、虚函数、纯虚函数、函数重载

C++中,由于父类和子类都实现了cry方法【实函数】,

因此,只会调用父类的cry方法

    如果,想要实现Java中的多态效果,

    那么必须把【父类和子类】的cry方法全部用virtual关键字声明为【虚函数】


另外,C++纯虚函数,类似Java中的抽象方法,由不同的子类去实现

父类Person


子类 Girl


main.cpp主函数
当父类和子类 都实现了【实函数cry】时的情况:直接调用父类的cry

当父类和子类的cryy方法都用【virtual】关键字声明时,
与Java多态一样,调用子类的方法

纯虚方法

// 纯虚函数,类似Java中的抽象方法,由不同的子类去实现

virtual void hobby()=0;


八、C++中的类,如果所有方法全是纯虚函数,那么就是纯虚类;
相当于Java中的接口;由于C++本身支持多继承,因此,在使用时,尽量按照Java中的【单继承实现多接口原则】,将其他父类设计成【纯虚类】
九、函数重载,即名称一样,参数列表不同



















C++_01_入门