日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++继承关系

發(fā)布時(shí)間:2025/3/20 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++继承关系 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
對(duì)于繼承關(guān)系 // Inherit_Point.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include<iostream> #include<stdlib.h> using namespace std;/*****************************Point**************************************/ class Point {friend ostream&operator<<(ostream&, Point&); public:Point();Point(double xval, double yval);~Point();protected:double x;double y;}; Point::Point():x(0.0),y(0.0)//默認(rèn)構(gòu)造 { } Point::Point(double xval, double yval) : x(xval), y(yval)//普通構(gòu)造 { } Point::~Point() { } ostream& operator<<(ostream& os, Point& apoint) {os << "Point :x:y " << apoint.x << ", " << apoint.y << "\n";return os; }/********************************Circle*********************************/ class Circle:public Point {friend ostream& operator<<(ostream&, Circle&);public:Circle();Circle(double r, double xval, double yval);~Circle();double area() { return (3.1415926*radius*radius); }protected:double radius; };Circle::Circle():Point(),radius(0.0) { } Circle::Circle(double r, double xval, double yval) : Point(xval, yval), radius(r) {} Circle::~Circle() { } ostream& operator<<(ostream& os, Circle& aCircle) {os << "Circle:radius: " << aCircle.radius;os << aCircle.x << "\n";//x,y是繼承而來的成員,由于是保護(hù)類成員,可以直接使用,若果是私有成員,則必須使用共有函數(shù)借口進(jìn)行訪問os << aCircle.y << "\n";return os; }/************************************Cylinder*****************************************/ class Cylinder:public Circle {friend ostream& operator<<(ostream&, Cylinder&); public:Cylinder();Cylinder(double hv, double rv, double xv, double yv);double area() { return 2 * Circle::area() + 2 * 3.1415926*radius*radius; }~Cylinder();private: protected:double height; };Cylinder::Cylinder():Circle(),height(0.0) { } Cylinder::Cylinder(double hv, double rv, double xv, double yv) : Circle(xv, yv, rv), height(hv) { } Cylinder::~Cylinder() { } ostream& operator<<(ostream& os, Cylinder& acylinder) {os << "cylinder dimensions: ";os << "x: " << acylinder.x;os << ", y: " << acylinder.y;os << " , radius: " << acylinder.radius;os << ", height: " << acylinder.height << endl;return os; }/*****************************************main()**********************************************/ int main() {Point p(2.0, 3.0);Circle c(7.0, 6.0, 5.0);Cylinder cyl(10.0, 11.0, 12.0, 13.0);cout << p;cout << c;cout << "area circle: " << c.area() << endl;cout << cyl;cout << "area cylinder: " << cyl.area() << endl;cout << "aera cylinder base is: "<< cyl.Circle::area() << endl;system("pause");return 0; }

總結(jié)

以上是生活随笔為你收集整理的C++继承关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。