QT5.14开发-C++基础下半部分

本文介绍了QT开发中C++的基础知识,包括类函数的重载、构造函数与析构函数的使用,以及类的继承概念。通过实例展示了如何定义和调用重载函数,以及构造函数和析构函数的自动触发。此外,还讨论了虚函数和纯虚函数在类继承中的作用,强调了虚函数的接口预留和分工合作优势。
摘要由CSDN通过智能技术生成

QT开发之C++基础-下半部分

一. 类函数的重载特性
指可以在类里面定义同名的函数,但是参数不同的函数。
class Student
{
public:
char name[64];
int age;
void test();
void test(int a);
}
Void Student::test(){
B=100;
Cout<<b<<endl;
}
Void Student::test(int a){
Cout<<a<<endl;
}
Int main(){
Student my;
My.test();
My.test(50);
}
结果:100;
50;
重载函数在调用的时候会根据参数的类型,会根据参数的类型去匹配相应的函数进行调用。
二. 构造函数和析构函数

  1. 析构函数:假如定义了析构函数,当对象被删除或者生命周期结束时,就会触发析构函数。
  2. 构造函数:假如定义了构造函数,当对象被创建时,就会触发构造函数。
  3. 两者的定义:
    两者的名字必须和类名一致。
    析构函数要在前面加一个~。
    例子:
    class Student
    {
    public:
    char name[64];
    int age;
    Student();//构造
    Student(int a);//构造函数的重载
    ~Student();//析构
    }

Student::Student(){
Cout<<”hello1”<<endl;
}
Student::Student(int a){
Cout<<b<<endl;
}
Student::~Student(){
Cout<<”hello2”<<endl;
}
Int main(){
Stundent my;//对象被创建,触发构造
Student *my1 = new Student(10);//对象被创建,触发重载的构造函数,带参的需要用这个方法创建对象
Delete my;//对象被删除,触发析构。
Return 0;
}
结果:hello1;
10;
hello2;
4. 构造函数可以被重载,析构函数不能被重载。
三. 类的继承
类的继承允许在新的类里继承父类的public和protected的部分,而private不可被继承。当父类不满足我们的需求,我们可以用新的类继承父类,在新的类里面假如新的部分。
例子:class 儿子:public 爸爸{
Public:
……
Protected:
……
}

Class MyStudent:public student{
Public:
Int grade;
}
通过.和->访问父类的内容。
MyStudent my2;
my2.grade=99;
my2.age=15;
四. 虚函数和纯虚函数
虚函数:有实际定义,允许派生类对其进行覆盖式的替换。Virtual修饰。用在类的继承
纯虚函数:没有实际定义的虚函数,就是纯虚函数。
例子:
class Student
{
public:
char name[64];
int age;
virtual void test();
virtual void testa(){}//无代码,为纯虚函数
}
Student::test(){
Cout<<”aaaa”<<endl;//有代码,为虚函数
}
Class MyStudent:public Student{
Public:
Void test(){
Cout<<”bbbbb”<<endl;//派生类的test覆盖父类的test
}
}
Int main(){
MyStudent my2;
My2.test();
Return 0;
}
结果:bbbbb
虚函数的优点:使用虚函数,可以预留接口,实现分工合作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值