zoukankan      html  css  js  c++  java
  • c++学习笔记_继承类问题_赋值兼容

    注释都添加在代码里了

    #include<iostream>
    #include<cstring>
    using namespace std;
    class CPerson
    {//定义person类 
    	public:
    		void set(char *p,int x,int y)
    		{//定义函数带参构造函数 
    			strcpy(name,p);
    			num=x;
    			sex=y;
    		}
    		void out()
    		{//定义输出函数 
    			cout<<"name:"<<name<<",num:"<<num;
    			if (sex==0) cout<<",sex:男"<<endl;
    			else cout<<",sex:女"<<endl;
    		}
    	private://私有数据项 
    		char name[8];
    		int num;
    		int sex;
    };
    class CStudent:public CPerson
    {//定义student类 并共有继承person类 
    	public:
    		void addscore(float x)
    		{//定义带参构造函数 
    			score =x;
    		}
    		void out()
    		{//定义输出函数 
    			CPerson::out();//先输出person类中的输出,涉及同名覆盖 
    			cout<<"score:"<<score<<endl;
    		}
    	private:
    		float score;
    };
    int main()
    {
        CPerson s;
    	CStudent s1;
    	
    	s1.set("wu",1,0);
    	s1.addscore(95.5f);
    	//总的来说,等号右边的一定是子类对象,即大的可以给小的赋值
    	//也就是1.子类的对象可以给父类的对象赋值和初始化,
    	//2.父类的指针可以指向子类对象(即子类对象的地址可以给父类指针赋值)
    	//3.父类的引用可以引用子类的对象(即给子类的对象取一个父类型的别名)
    	s=s1;
    	return 0;
    }
    
  • 相关阅读:
    java类型比较_Java数据类型的比较
    学习方法-1:海绵学习法
    性能测试:TPS和QPS的区别
    代码反思
    网站TLS升级 1.0&1.1--1.2
    Mysql常用语法
    初级测试工程师面试指南
    postman实战之断言
    postman预处理脚本实战
    什么是HTTP超文本协议
  • 原文地址:https://www.cnblogs.com/hzshisan/p/12571102.html
Copyright © 2011-2022 走看看