嵌入式QT基础-C++面向对象编程语法

本文介绍了C++的面向对象编程概念,包括面向对象与面向过程的区别,对象的描述与类型,创建对象与对象指针,构造函数,this指针,析构函数,拷贝构造函数以及C++类的特性。面向对象编程通过对象间的交互实现程序功能,构造函数用于对象初始化,析构函数负责资源释放,拷贝构造函数处理对象复制。
摘要由CSDN通过智能技术生成

概述

一切皆对象,一个程序就是由一组对象组成的一个整体,程序的功能是通过对象之间传递消息来完成的。
 

面向对象与面向过程的区别

例如:把大象装进冰箱需要几步,两者的解决方法:

面向过程:打开冰箱–>把大象塞进去–>关冰箱
面向对象:调用一个具有将大象塞进冰箱的类的功能
 

对象的描述及其类型

  1. 对象由共同特征和功能组成:
    * 使用变量描述共同特征
    * 使用函数描述功能

  2. 举例:
    *学生的共同特征为:学号、姓名、班级……
    *学生的功能为:吃饭、睡觉、学习……

  3. 对象类型的描述
    (1) 使用结构体(struct)描述:
    结构体中既可以有成员变量,也可以有成员函数。因此结构体可以来 表示对象类型,在C++中,对象的类型叫做类

    (2) 使用struct实现时间对象实例

#include <iostream>
#include <unistd.h>

using namespace std;

//使用结构体声明对象类型
struct Time{
   
    //特征 ---- 变量
    int hour;
    int min;
    int sec;

    //功能 ---- 函数
    void print_time(){
   
        cout<<hour<<":"<<min<<":"<<sec<<endl;
    }

    void set_time(int h=15,int m=30,int s=25){
   
        hour = h;
        min = m;
        sec = s;
    }

	void run(){
   
		sec++;
		if(sec==60){
   
			sec = 0;
			min++;
			if(min==60){
   
				min = 0;
				hour++;
				if(hour==24)
					hour = 0;
			}
		}
	}
};

int main()
{
   
    //使用结构体声明对象,不需要加struct
    Time t;
    t.hour = 1;
    t.min = 2;
    t.sec = 3;

    //访问成员函数
    t.print_time();
    t.set_time(23,59,49);
	while(1){
   
		t.run();
    	t.print_time();
		sleep(1);
	}
    return 0;
}

(3)使用类(class)描述:
①:class也可以用来描述对象类型,语法和struct几乎一致。
②:具有访问属性:public — 公有属性、protected — 受保护属性、 private — 私有属性。
③:因struct声明的类中的成员默认是公开的,class声明的类中成员默认是私有的。所以 在C++中一般不使用struct而使用class来声明类。

(4)使用class实现时间对象实例

#include <iostream>

using namespace std;

class Time{
   				//使用class声明对象类型
private:				//私有
    int hour;		    //特征 ---- 变量
    int min;
protected
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值