第七次复习 //进入类

C++primer plus第10章

1.有关于oop
1.众所周知,oop指是面向对象,何为对象?万物皆对象,一般的对象就是用户,面向用户的桥梁是什么?就是所说的接口,接口是链接程序与对象的桥梁,在汇编语言里即使代表特定方法
2.类
2.1 类内如果不写关键字定义成员,会默认为私有成员,即private;
2.2私有成员只能在共有类内访问
2.3public中函数默认内联,简单说你在public中定义和外部定义的函数都属于内联,或者外部函数前加个inline就算内联
2.4调用类 //基本操作A b ;b.show();
2.5构造函数与析构函数

//假如有类stocks
stock( const string & co , long n , double b ) ; //注意在公有部分,私有麻烦
stock::stock ( const string & co , long n , double b ) 
{。。。。。。} //外部定义
//附送上列表初始化 //假如类中有私有成员akg
stock::stock ( const string & co , long n , double b ) : a(co) , k(n), g(b) ; // 在公有部分定义时只要这一句话
stock k = stock ("words" , 100L , 192.423) //实现
stock k ={"words" , 100L , 192.423} //c++11列表初始化法


~stock(); //定义析构函数,在public 中
stock::~stock(); //外部定义
{ .. .. .. . .} 


2.6 关于析构函数的注意点:
析构函数函数实现在return 0 ; 之前, 所以return后的析构没有意义

2.7const成员函数

void show() const ;//定义时和调用时都要在末尾加上const 略

//如果在定义对象时定义
const stock land = stock (..,..,...) ;
//所有在定义类时的方法全要上const!

2.8 this 指针的使用
this指针的含义就如字面意思,指的是函数当前对象
在类中的使用

const stock &topval (const stock & s ) const ; // 声明
const stock &  stock::topval ( const stock & s ) const 
{ 
 	if(s.total>total) ; //比较当前类中的total值和调用类中的total值大小
 	return s ;
 	else
 	return * this ; //这里的this指的是当前调用对象的地址,解引用就是指当前对象
}

这里说明:
const stock &topval (const stock & s ) const ;
@首先它是双const类型
@@第一个const指的是其函数地址用的const ,所以把地址赋给非const是非法的,解决方法const stock&b = topval;
@@第二个const指的是传参类型,定义后函数体内不能有改变参数类型值的行为,但是按值传递就没有必要加const
@@第三个const修饰的是当前类公有部分的成员,定义后不能调用当前类内公有成员的非const成员

@其次其返回类型为stock& ,也就是返回了一个stock类的引用,这里可以是参数s也可以是*this当前调用对象

@最后外部定义时不要忘了加stock::
2.9对象数组
stock stocks [5] = { stock(…), stock(…) , stock(…), stock(…), stock(…)} ;
访问是按照正常方法stock[1].show() ;
2.10类的作用域之间不会相互干扰
对于定义的对象指针也可以用->方法调用成员函数
2.11类内定义常量
在私有部分定义: enum{ months=12 ; }
或者 : static const int months = 12 ;
2.12
再谈枚举

enum  abc { red , blue , yellow } ;
enum class egg { red , blue , yellow } ;//重名解决办法
int main()
{  
    egg a = egg::blue;//作用域外访问
    cout<<int(a) <<endl; //强制转换为int输出
    int a = int ( egg :: blue ) ;
    cout << a << endl ;//强转为int类型来输出,效果和上面的一样
    cout<<blue;
return 0 ;
}

这里谈的枚举主要是类的体现
成员默认只能外部通过作用域运算符::访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值