C++语言基础 例程 派生类的声明与构成

贺老师的教学链接  本课讲解

派生类

#include <iostream>
#include<string>
using namespace std;
class Student//声明基类Student
{
public:
    void sets(int n,string nam,char s);
    void show( );
protected:     //保护部分
    int num;
    string name;
    char sex ;
};
void Student::sets(int n,string nam,char s)
{
    num=n;
    name=nam;
    sex=s;
}
void Student::show( )
{
    cout<<"num: "<<num<<endl;
    cout<<"name: "<<name<<endl;
    cout<<"sex: "<<sex<<endl<<endl;
}
class Student1: public Student //声明派生类Student1
{
public:
    void sets1(int n,string nam,char s,int a,string ad);
    void show1( );
private:     //派生类的私有部分
    int age;
    string addr;
};
void Student1::sets1(int n,string nam,char s,int a,string ad)
{
    sets(n,nam,s);
    age=a;
    addr=ad;
}
void Student1::show1( )
{
    cout<<"num: "<<num<<endl;
    cout<<"name: "<<name<<endl;
    cout<<"sex: "<<sex<<endl;
    cout<<"age: "<<age<<endl;
    cout<<"address: "<<addr<<endl<<endl;
}

int main( )
{
    Student1 stud;
    stud.sets1(10010,"Wang",'f',19,"Shanghai");
    stud.show1( );         //输出第一个学生的数据
    stud.show();
    return 0;
}
时间: 2024-09-29 07:43:03

C++语言基础 例程 派生类的声明与构成的相关文章

C++语言基础 例程 派生类的构造函数和析构函数

贺老师的教学链接  本课讲解 一个简单派生类的定义 #include <iostream> #include<cstring> using namespace std; class Student //声明基类Student { public: Student(int n,string nam,char s):num(n),name(nam),sex(s) {} //基类构造函数 ~Student( ) { } //基类析构函数 void show( ) { cout<<

C++语言基础 例程 基类与派生类的转换

贺老师的教学链接  本课讲解 指向基类对象的指针变量也可以指向派生类对象 #include <iostream> #include <string> using namespace std; class Student//声明Student类 { public: Student(int, string,float); void display( ); private: int num; string name; float score; }; Student::Student(in

C++语言基础 例程 Time类的设计

贺老师的教学链接  本课讲解 Time类的初步实现与测试 #include <iostream> using namespace std; class Time { public: Time(): hour(0), minute(0), sec(0){} Time(int h, int m, int s):hour(h), minute(m), sec(s){} void set_time( ); void show_time( ); void add_a_sec(); //增加1秒钟 voi

C++语言基础 例程 字符串类

贺老师的教学链接 C++中的新成份--string类型 (1) #include <iostream> #include <cstring> using namespace std; int main( ) { char str1[50],str2[50],temp[50]; cout<<"please input strings:"; cin>>str1>>str2; if(strcmp(str1, str2)>0)

C++语言基础 例程 类的声明和对象的定义

贺老师的教学链接  本课讲解 类的声明和对象的定义-形式1 #include <iostream> #include <cstring> using namespace std; class Student { private: int num; char name[20]; char sex; public: void set_data(int n, char *p,char s) { num=n; strcpy(name,p); sex=s; } void display( )

C++语言基础 例程 多态性的概念

贺老师的教学链接  本课讲解 一种死板的机制 #include <iostream> #include <string> using namespace std; //声明基类Student class Student { public: Student(int, string,float);//声明构造函数 void display( ); //声明输出函数 protected: //受保护成员,派生类可以访问 int num; string name; float score;

C++语言基础 例程 虚函数

贺老师的教学链接  本课讲解 指向基类的指针,为何只能访问来自基类成员?! #include <iostream> #include <string> using namespace std; //声明基类Student class Student { public: Student(int, string,float);//声明构造函数 void display( ); //声明输出函数 protected: //受保护成员,派生类可以访问 int num; string nam

C++语言基础 例程 抽象类

贺老师的教学链接  本课讲解 实例:顶层的Shape作为抽象类 #include <iostream> using namespace std; //声明抽象基类Shape class Shape { public: virtual float area( ) const { return 0.0; //虚函数 } virtual float volume() const { return 0.0; //虚函数 } virtual void shapeName() const =0; //纯虚

C++语言基础 例程 类声明和成员函数定义的分离

贺老师的教学链接  本课讲解 1.一个程序,一个源文件的做法 #include<iostream> #include<cstring> using namespace std; class Student { private: char Name[20]; //学生姓名 double Chinese; //语文成绩 double Math; //数学成绩 public: double Average( );//计算平均成绩 double Sum( ); //计算总分 void Sh