c++中的继承关系
2021-07-19 09:27
501 查看
1 什么是继承
面向对象的继承关系指类之间的父子关系。用类图表示如下:
#include <iostream> #include <string> #include <sstream> using namespace std; class Object { protected: string mName; string mInfo; public: Object() { mName = "Object"; mInfo = ""; } inline string getName() { return mName; } inline string getInfo() { return mInfo; } }; class Point : public Object { private: int mX; int mY; public: Point(int x = 0, int y = 0) { ostringstream oss; mX = x; mY = y; mName = "Point"; oss << "Point(" << mX << ", " << mY << ")"; mInfo = oss.str(); } inline int getX() { return mX; } inline int getY() { return mY; } }; class Line : public Object { private: Point mP1; Point mP2; public: Line(Point p1, Point p2) { mP1 = p1; mP2 = p2; mName = "Line"; mInfo = "Line from " + p1.getInfo() + " to " + p2.getInfo(); } inline Point getStartPoint() { return mP1; } inline Point getEndPoint() { return mP2; } }; int main(int argc, char const *argv[]) { Object obj; cout << obj.getName() << endl; cout << obj.getInfo() << endl << endl; Point p1(1, 2); Point p2(3, 4); cout << p1.getName() << endl; cout << p1.getInfo() << endl; cout << p2.getName() << endl; cout << p2.getInfo() << endl << endl; Line line(p1, p2); cout << line.getName() << endl; cout << line.getInfo() << endl << endl; return 0; }关于继承/组合的案例分析
相关文章推荐
- C++中继承关系简介
- C++中的三种继承关系
- C++访问控制和继承关系
- 详谈C++虚函数表那回事(一般继承关系)
- 再谈C++中的is-a关系(确定你的public继承塑模出is-a关系)
- [MFC学习之C++基础] 孙鑫视频中第三讲中提到的小测试程序(关于基类和子类的继承关系)
- C++继承关系中Data Member和Functions Member的内存布局(基于C++ Object Model描述)
- C++中的继承关系、访问限定符,六个默认成员函数以及菱形继承和虚继承
- 详谈C++虚函数表那回事(一般继承关系)
- c++的继承关系和函数重载
- 再谈C++中的is-a关系(确定你的public继承塑模出is-a关系)
- Java与C++区别之继承关系中的函数
- C++中的继承关系
- c++ 友元关系与继承
- C++继承关系
- C++的继承关系
- 读书笔记_Effective_C++_条款三十二:确定你的public继承继承塑模出is-a关系
- c++调用蓝图函数(无继承关系)
- python之自动生成C++的父子双向继承关系
- C++第十四章_引入_包含(公有继承)和私有继承_is-a关系和has-a关系_私有继承_使用using重新定义获得访问权限_多重继承的问题与改进_虚基类_类模板类模板类模板_栈指针...