c++语言 :类

类:

类中的两个特殊的成员函数:构造函数和析构函数 。当定义类对象时,c++会自动调用构造函数对数据成员进行 初始化,相反,当对象终止时c++会自动调用析构函数进 行“回收资源”处理。

构造函数的特点:它的名字与类名相同,当定义对象时,将自动调用该函数。

析构函数的特点:是由类名前面加“~”构成,没有返回值,且析构函数不接收任何参数。对象生命期结束前应该完成对象资源的清理。 如:在创建对象时为数据成员 开辟了空间,则需要则通过析构函数在对象的生命期结 束前对所开辟的空间心释放。

 

定义类的语法形式:

class 类名称

{

public:

        外部接口

protected:

       保护型成员

private:

       私有成员

};

声明一个对象:类名  对象名;

访问对象的成员:

《1》访问对象的数据成员:对象名.数据成员名

《2》访问对象的函数成员:对象名.函数成员名(参数表)

成员函数的实现:

返回值类型(void   or  int)类名::函数成员名(参数表)

{

       函数体

}

类成员函数的默认值一定要写在类定义中。

内联成员函数的声明有两种方式:隐式声明(将函数体直接放在类体中)和显式声明(在函数返回值类型前加上inline,类定义中不加入函数体)。

构造函数和析构函数:构造函数也是类的一个成员函数,且构造函数的函数名和类名相同,没有返回值。构造函数通常声明为公有函数。

复制构造函数:把初始值对象的每个数据成员的值都复制到新建立的对象中。

复制构造函数的格式:

class 类名

{

public:

     类名(形参表); 

     类名(类名&对象名);

     ...

};

类名::类名(类名&对象名);

{

    函数体

}

 

字符串常量是用一对双引号括起来的字符序列。

执行很多字符串操作需要借助cstring头文件中的字符串处理函数。

string类应用举例:

#include<string>

#include<iostream>

using namespace std;

 

inline void test(const cahr *title,bool value){

      cout<<title<<"returns"<<(value?"true":"false")<<endl;

}

 

int main(){

     string s1="DEF";

     cout<<"s1 is "<<s1<<endl;

 

     string s2;

     cout<<“please enter s2: ";

     cin>>s2;

     cout<<"length of s2: "<<s2.length()<<endl;

 

      test("s1<=\"ABC\"",s1<="ABC");

      test("\"DEF\"<=s1","DEF"<=s1);

      

       s2+=s1;

       cout<<"s2=s2+s1:"<<s2<<endl;

       cout<<"length of s2: "<<s2.length()<<endl;

       return 0;

}

如果希望从键盘读入字符串,直到行末为止,不以中间的空格作为输入的分隔符,可以使用头文件string中定义的getline。例如:getline(cin,s2);输入s2.getline还允许在输入字符串时增加其他分隔符。使用方法是把可以作为分隔符的字符作为第三个参数传递给getline。例如:getline(cin,s2,‘,’);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值