初识c++的类

前言
c++所做的最重要的改进就是提供了类。类就体现了c++面向对象编程(OOP)的特性,类是一种将抽象转换为用户定义类型的c++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。

类的组成部分
这里写图片描述

类中的访问权限的总结
这里写图片描述
如何定义和声明一个类

#include<iostream>
using namespace std;

class Tdate                    //下面是对一个类的声明,声明就只是成员函数没有具体的实现
{
public:
    void Set(int, int, int);  //声明一个类成员函数,它的属性为public
    void print();
private:
    int y;                   //定义了三个私有的成员变量y,m,d;
    int m;
    int d;
};                          //一个类的结尾必须要有:“;”

/*
下面是对类的对类成员函数进行实现
*/

void Tdate::Set(int y, int m, int d)
{
    /*
    后面也将介绍一下this指针的使用和原理,这里就先用了,不用也可以直接如下替换:
    Tdate::y=y;
    Tdate::m=m;
    Tdate::d=d;
    至于“::”这个操作符也马上就会给大家介绍它的的作用。它是可以在类外部访问类私有成员的一种方式

    */
    this->y = y;
    this->m = m;
    this->d = d;
}
void Tdate::print()
{
    /*
    这里是因为你在要实现这个函数,是要进入类的内部的,使用了“Tdate::“,所以这里可以直接访问类的私有成员
    Set函数不可以直接用y,m,d的原因是因为一个区域内出现了两个相同名字的变量,程序无法分辨,只有人为的去操作
    */
    cout << "Year=" << y << endl;
    cout << "Month=" << m << endl;
    cout << "Day=" << d << endl;

}

int main()
{
    Tdate date;
    date.Set(2016, 9, 7);
    date.print();
    system("pause");
    return 0;
}

“::”作用域区分符
“::”叫做作用域区分符,指明一个类属于哪个类或一个数据属于哪个类,因为它已经为我们指明我们需要访问的类,所以可以直接在其内部访问类的私有成员,“::”可以不跟类名,表示全局数据或全局函数。

this指针的用法
请参考我的下一篇博客(c++之指针详解

一般类的定义和其成员函数的定义是分开的,我们把类的定义放在一个头文件中,类的实现放在cpp文件中,下面我给个例子。


/*
Tdate.h文件
*/
class Tdate                    
{
public:
    void Set(int, int, int);  
    void print();
private:
    int y;                   
    int m;
    int d;
};                         

/*
Tdate.cpp
*/

#include <iostream>
using namespace std;
#include "Tdate.h"

void Tdate::Set(int y, int m, int d)
{
    this->y = y;
    this->m = m;
    this->d = d;
}
void Tdate::print()
{

    cout << "Year=" << y << endl;
    cout << "Month=" << m << endl;
    cout << "Day=" << d << endl;

}
/*
main1.cpp
*/
#include <iostream>
using namespace std;
#include "Tdate.h"

int main()
{
    Tdate date;
    date.Set(2016, 9, 7);
    date.print();
    system("pause");
    return 0;
}

上述格式就是进行大型项目开发应该使用的格式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值