码迷,mamicode.com
首页 > 编程语言 > 详细

c++ -- 类

时间:2017-06-12 23:49:17      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:under   combine   pos   size_type   logs   tab   typedef   turn   member   

class A;

类成员:

1.函数成员

构造函数:一种特殊的成员函数,不能声明为const 的

常量指针this:this类型为“A *const”,总是指向调用成员函数的“这个”对象;

const成员函数:用于修改隐式this指针的类型,修改后this指针类型为“const A *const”。相当于为this指针增加了“底层const”,能够引起重载;

返回this对象的函数:

/*注意返回类型和返回语句*/
Sales_data & Sales_data::combine(const Sales_data &rhs)
{
    ...
    return *this;     //解引用this指针   
}

const能够引起重载

未完。。。

2.数据成员

通常封装为在"private"部分,private部分封装(即隐藏)了类的实现细节。

可变数据成员(mutable关键字):对于可变数据成员,任何成员函数,包括const函数在内都能改变它的值。

class Screen
{
public:
    void some_member() const;   //const成员函数
private:
    mutable size_t access;          //可变数据成员
}

void Screen::some_member() const
{
    ++access;                  //改变access
}

类内初始值:我们提供一个类内初始值时,必须使用“=”或者花括号表示。

3.类型成员

class Screen
{
public:
    typedef std::string::size_type pos;  //类型成员pos
private:
    pos cursor=0;
    pos height=0;
    std::string contents;

类可以自定义某种类型在类中的别名,由类定义的类型别名和其他成员一样存在访问限制(public或者private);

用来定义类型的成员必须先定义后使用,一般出现在类开始的地方

 

4.友元

友元声明与类本身放在同一个头文件;

为了使友元对类的用户可见,在类外再专门对函数进行一次声明(除了类内部的友元声明之外);

可访问类的private成员,并且可改写类的private数据成员。滥用友元会破坏类的封装性。

 

c++ -- 类

标签:under   combine   pos   size_type   logs   tab   typedef   turn   member   

原文地址:http://www.cnblogs.com/cygalaxy/p/6995428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!