c++笔记(6):类、对象、构造函数、析构函数、静态成员、友元、类包含

1.
类(Class)是面向对象程序设计(OOP)实现信息封装的基础。类是用户定义类型,也称为类类型,每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
面向对象编程的程序基本单位是类,类是数据和操作数据的函数的封装,类的对象使用自己的方法完成对数据的操作,类可以隐藏数据和操作细节,对象通过类接口与外部通信。
类中定义成员函数:
class Tdate
{  public:
        void  Set(int m, int d, int y )  { month = m ;  day = d ; year = y ; }
        int  IsLeapYear()
           { return ( year%4 == 0 && year%100 != 0 )||( year%400 == 0); }
        void  Print()  { cout << year << "." << month << "." << day << endl ; }
   private:
        int  month;    int  day;    int  year;
};
类外定义成员函数:
void Tdate :: Set(int m, int d, int y )   { month = m ;  day = d ; year = y ; }
int  Tdate :: IsLeapYear()    { return ( year%4 == 0 && year%100 != 0 )||( year%400 == 0); }
void Tdate :: Print()  { cout <<year<<"."<<month<<"."<<day<<endl ; }

2.
class ,struct,union都可以定义一个类:
class 缺省说明时,其成员被认为是私有的
struct 若不特别指出,其所有成员都是公有的
union 其所有成员都是公有的,且不能更改
成员的性质由关键字public、protected、private 决定
public      公有公有段的成员是提供给外部的接口
protected     保护 保护段成员在该类和它的派生类中可见
private      私有私有段成员仅在类中可见
各段中既可以包含数据成员,也可以包含成员函数
类说明的一般形式为: 
class 类名
{ public:
公有段数据成员和成员函数 ;
   protected: 
保护段数据成员和成员函数 ;
   private:
私有数据成员和成员函数 ;
} ; 

注:

<1>允许已定义类名出现在类的说明中,但不能出现无穷递归结构

<2>类可以无名,用来直接声明对象
<3>类是一个程序包。可以只有数据成员或只有成员函数,或者为空。(空的类占1个字节) 

3.

访问对象成员

公有成员是提供给外部的接口,类外用“ . ” 和 “ -> ” 运算符访问对象成员 
//例6-4 用指针访问对象成员 
#include<iostream>
using namespace std ;
class  Tclass
{  public :
   int  x, y ;
   void  print() { cout << x << "," << y << endl ; } ;
} ;
int add( Tclass * ptf )  { return ( ptf->x + ptf->y ) ; } 
int main()
{ Tclass  test,  * pt = new(Tclass) ; //建立动态对象	
   pt->x = 100 ;    pt->y = 200 ;//用指针访问对象成员
   pt->print() ;
   test.x = 150 ;    test.y = 450 ;
   test.print() ;
   cout << "x+y=" << add(&test) ;//向函数传递对象地址 
}


4.

this指针

成员函数隐含定义this指针,接收调用对象的地址 
#include<iostream> 	//例6-5
using namespace std ;	
class  Simple
{   int  x, y ;
  public :
     void setXY ( int a, int b) { x = a ;  y = b ; }//void setXY (int a,int b,Simple * const
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值