长沙 网站运营,网络营销推广的方式和特点,seo搜索引擎优化方法,套用别人产品图片做网站文章目录 封装继承多态 封装
在private/protected 模块放置数据或者底层算法实现#xff1b;在public块提供对外接口#xff0c;实现相应的功能调用#xff1b;类的封装案例
#include iostream
using namespace std;// 类的定义 一般放在头文件
class Stu {public… 文章目录 封装继承多态 封装
在private/protected 模块放置数据或者底层算法实现在public块提供对外接口实现相应的功能调用类的封装案例
#include iostream
using namespace std;// 类的定义 一般放在头文件
class Stu {public: // 公有权限 接口void setAge(const int age) {this-age age;}const int getAge() const {return age;}private: // 数据封装int age;
};int main() {// 创建对象Stu s1; s1.setAge(20);cout s1.getAge() endl;return 0;
}继承
将一个类的成员变量、成员函数应用到另一个类中实现复用支持多继承同python一样而 java 仅支持单继承继承修饰符public、protected、private; 若不写修饰符则默认private继承public继承基类中的public、protected、private 保持不变protected继承基类中的public、protected、private 变为protected、protected、privateprivate继承 基类中的public、protected、private全部变为private
#include iostream
#include string
using namespace std;// 基类
class People {
public:string name;People(const string name, const int age, const double height) {this-name name;this-age age;this-height height;cout 父类完成初始化 height endl;}void printName() const {cout name: name endl;}void printAge() const {cout age: this-age endl;}void printHeight() const {cout height: this-height endl;}protected:int age;private:double height;
};// 类的定义 一般放在头文件
class Stu: public People { // 公有继承经常使用
public: // 可多个块int num; // 若未放在public等修饰符下 默认私有Stu(const string name, const int age, const doubleheigh): People(name, age, heigh){// 显式调用父类的有参构造否则隐式调用父类的无参构造// 子类的构造 初始化this-num 102;}void printAge() const {// 子类方法中只能访问继承的public/protected 成员private成员无法访问但可以通过父类的方法到父类代码中访问cout age: this-age endl;}/*void printHeight() const {cout height: this-height endl;} 不可访问继承的私有 */};int main() {string name jack;int age 20;double height 23.5;// 创建对象Stu s1(name, age, height); // 父类的构造方法 完成对私有变量的初始化s1.printName();s1.printAge();s1.printHeight(); // 在父类中访问私有 return 0;
}多态
多个子类继承父类中的方法分别实现方法的重写父类中采用 virtual 声明为虚函数函数体赋值为0则为纯虚函数
在这里插入代码片