C++继承和派生
所属分类 c
浏览量 797
派生 Derive和 继承 Inheritance是一个概念
只是站的角度不同
继承是儿子接收父亲的产业
派生是父亲把产业传承给儿子
子类 和 父类
基类 和 派生类
派生类除了拥有基类的成员
还可以定义自己的新成员,以增强类的功能
#include "iostream"
using namespace std;
//基类 Pelple
class People{
public:
void setname(char *name);
void setage(int age);
char *getname();
int getage();
private:
char *m_name;
int m_age;
};
void People::setname(char *name){ m_name = name; }
void People::setage(int age){ m_age = age; }
char* People::getname(){ return m_name; }
int People::getage(){ return m_age;}
//派生类 Student
class Student: public People{
public:
void setscore(float score);
float getscore();
private:
float m_score;
};
void Student::setscore(float score){ m_score = score; }
float Student::getscore(){ return m_score; }
int main(){
Student student;
student.setname("tiger");
student.setage(9);
student.setscore(98.8f);
cout << student.getname() << " age=" << student.getage() << ",score=" << student.getscore() << endl;
return 0;
}
g++ drivedemo.cpp
student.setname("tiger");
编译警告
warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
字符串字面量 是常量 不可修改 , 赋值给 char* 会警告
所有 char * 前面加上 const
改为 const char *
完整代码
https://gitee.com/dyyx/hellocode/blob/master/web/tech/cpp/demo/drivedemo.cpp
上一篇
下一篇
网络流量单位说明
make 和 make install 的区别
c和c++代码编译方法
C++继承同名成员变量处理
C++动态内存分配实例
现代C++特性