C++ : 程序设计简单实例

devtools/2024/10/19 6:19:27/

首先定义一个类POINT,有两个int型的保护数据成员x、y表示该类对象在二维坐标系中的坐标位置,定义如下三个公有成员函数:

        (1) 构造函数:设置点的初始值;

        (2)成员函数change改变坐标位置

        (3)成员函数show显示点的位置,具体输出形式请参考下面的输出提示;cout<<"("<<x<<","<<y<<")"<<endl;

然后,以类POINT为基类定义派生类CIRCLE,其中增加一个私有数据成员int r表示该圆的半径,定义如下两个公有成员函数:

       (1)构造函数:负责调用基类的构造函数及为本类的半径成员初始化

       (2)重新定义show函数显示圆心的位置及半径的值,

#include <iostream>
using namespace std;class POINT 
{
protected:int x, y;
public:POINT (int a, int b){ x = a;y = b;}void change (int a, int b){x = a;y = b;}void show ( ){cout<<"("<<x<<","<<y<<")"<<endl;}
};class CIRCLE : public POINT 
{ 
private:int r;
public:CIRCLE (int a, int b,int r) : POINT (a, b){this->r = r;}void show(){cout<<"the center of the circle is:"<<endl;cout<<"("<<x<<","<<y<<")"<<endl<< "the radius is:"<<r<<endl;}
};int main ( )
{POINT p (2, 3);CIRCLE c (3, 4, 5);cout<<"original p:\n";p.show ();p.change (20,30);cout<<"changed p:\n";p.show ();cout<<"original c:\n";c.show ( );c.change (30,40);cout<<"changed c:\n";c.show ( );return 0;
}

关于数据成员:

        数据类Data:成员string name,保存姓名;

        教师类Teacher:增加成员float sal,保存工资;

        学生类Student:增加成员string id,保存学号;

        研究生类Postgrad:增加成员 string dn,保存系别;

        教师中的在职研究生类Tpost:不另外定义成员。

关于成员函数:

        各类定义输出所有数据成员的函数void print()。

#include <iostream>
using namespace std;class Data
{
protected:string name;    //姓名
public:void print(){cout<<"name="<<name<<endl;}
};class Teacher : public virtual Data
{
protected:float sal;  //工资
public:void print(){cout<<"sal="<<sal<<endl;}
};class Student : public virtual Data
{
protected:string id;  //学号
public:void print(){cout<<"id="<<id<<endl;}
};class Postgrad : public Student
{
protected:string dn;  //系别
public:void print(){cout<<"dn="<<dn<<endl;}
};//定义一个在职研究生对象,先输入相关信息,再输出。
class Tpost : public Teacher, public Postgrad
{
public:Tpost(){cin>>name>>id>>dn>>sal;}void print(){cout<<"name="<<name<<endl;cout<<"id="<<id<<endl;cout<<"dn="<<dn<<endl;cout<<"sal="<<sal<<endl;}
};int main()
{string name, id, dn;float sal;Tpost tpost;cout<<"The teacher and postgraduate:"<<endl;tpost.print();return 0;
}

http://www.ppmy.cn/devtools/27775.html

相关文章

Gateway

序言 本文给大家介绍一下 Spring Cloud Gateway 的基础概念以及使用方式。 一、快速入门 1.1 引入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://…

无人机+低空经济:释放中国低空经济动力的必要条件

无人机与低空经济的结合&#xff0c;对于释放中国低空经济动力具有重要的意义。无人机作为低空经济的重要组成部分&#xff0c;可以为低空经济提供新的动力和发展方向。以下是无人机与低空经济结合释放中国低空经济动力的必要条件&#xff1a; 1. 无人机技术的不断发展和创新&a…

汇编语言-jcxz指令和loop指令

jcxz指令&#xff1a; jcxz 是有条件转移指令&#xff0c; 所有的有条件转移指令都是短转移&#xff0c; 在对应的机器码中包含转移的位移&#xff0c;而不是目的地址 对 IP 的修改范围都为&#xff1a; -128-127 指令格式&#xff1a;jcxz 标号 &#xff08;如果 (cx)0 &…

浅谈TopK问题(文件处理,堆)

目录 前提&#xff1a; TopK: 当数据数量小时&#xff1a; 当数据数量多时&#xff1a; 堆实现思路&#xff1a;&#xff08;前K个最大的数据&#xff09; 找最大建小堆&#xff0c;找最小建大堆 具体过程&#xff1a; TopK问题举例&#xff1a; 文件中找TopK问题&…

Zapier 与生成式 AI 的自动化(二)

原文&#xff1a;zh.annas-archive.org/md5/057fe0c351c5365f1188d1f44806abda 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第五章&#xff1a;故障排除和处理 Zap 错误 当你对 Zapier 越来越熟悉并开始构建复杂的工作流时&#xff0c;偶尔可能会遇到问题。一般来…

JVM面试篇

一、说一说JVM的内存模型 JVM的内存区域划分分为四个区域&#xff1a;程序计数器&#xff0c;栈&#xff0c;堆&#xff0c;方法区&#xff08;现在也叫元数据区&#xff09;。 二 、JAVA类加载的全过程是怎样的&#xff1f;什么是双亲委派机制&#xff1f;有什么作用&#xf…

HarmonyOS NEXT应用开发性能优化从入门到精通指南~

概述 在开发HarmonyOS NEXT应用时&#xff0c;优化应用性能是至关重要的。本文将介绍应用开发过程中常见的一些性能问题&#xff0c;并提供相应的解决方案&#xff0c;配合相关参考示例&#xff0c;帮助开发者解决大部分性能问题。 我们把应用性能分析的方法划分为了性能分析…

spring的常用注解

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Spring⛺️稳中求进&#xff0c;晒太阳 Spring框架注解&#xff1a; 给容器中注入组件 &#xff08;1&#xff09;包扫描组件标注注解 Component&#xff1a; 用于标识一个类作为组件&am…