面向对象上的单一类

面向对象分类

Object Based:面对的是单一class设计。
基于对象:这种类中的数据成员是不带指针,典型对象为 Complex。
Object Oriented: 面对的是多重class 设计,class 和 class 之间关系。
面向对象:这种类中的数据成员是带有指针,典型的对象为 String.

C++发布的版本

C++ 98 :表示在1998年发布的版本
C++ 11:表示在2011年发布的版本
C++主要学习的方向:C++语言 和 C++标准库

C++ 文件格式

*.c文件中包含保准库头文件 #include <iostream.h> 或是 #include <iostream> 可以不包含 “.h”。
*.c文件中包含自定义头文件 #include "*.h"。
声明和定义是两种不同的涵义。
声明是为了告诉编译器存在该声明,在编译中不要报错。
定义是对声明的具体实现。

类的定义以及具体细节

template <typename T>
class complex 	// class head
{ 							// class body
public:
	complex (double x=0, double y=0)
		:  re(x), im(double)
	{ }
	complex& operator += (const complex&);
	T real () const { return re; }
	T imag () const { return im; }
private:
	T re, im;
	friend complex& __doapl ( complex *, const complex& );
};

int main(void)
{
	complex<double > c1{1, 2};
	complex<double > c2;
}



1.C++编译器提供了类的模板,根据定义对象时给对象传入具体的数据类型。
2.内联函数作用: 在编译过程中不会将内联函数编译为 函数指令,而是直接将内联函数的代码直接插入调用内联函数的地方,减少了函数调用的开销,但是会增加代码量。
3.函数在 class body 中 定义,是想要让编译器在编译时当作内联函数( inline )。但是在实际编译过程中编译器会根据函数定义的复杂程度来决定该函数是否成为 内联函数( inline ),我们也可以 在 class body 外的函数 中添加 inline 修饰,但编译后并不一定为 内联函数( inline )。
4.类的访问级别有 public(外界可以访问),protected(外界不可访问,但是子类可以访问),private(外界 和 子类都不可以访问)。这三种访问方式在 class body 中可以出现多次。
5.类的构造函数:当创建一个对象时,构造函数会自动调用。C++中,函数在定义的过程中可以给出参数的默认值,当调用函数不传入参数,编译器会自动将默认值传递给实参。变量获取数据有两种形式,一种是初始化,一种是赋值。虽然两者的结果相同,但是在运行过程中,初始化的性能会更好。所以在构造函数中,使用  : val(), val().来初始化,会比在函数体中赋值性能更加。构造函数一般出现pubilc 段中。
6.析构函数会在对象结束声明周期时自动调用,在基于对象类中可以不实现析构函数,但是在面向对象类中需要实现。
7.C++中,允许函数重载(函数的重载:允许函数名相同,但是函数的参数必须存在 类型,顺序,个数上的不同),但是在编译后他们的函数名称是不一样的,在链接过程中不会出现不确定性。
8.在类中的函数定义中,如果该函数不会改变类中的数据成员,则需要在函数体前面增加 const 修饰。
9.C++参数传递的方式有三种: 值传递(形参的值等于实参的值,但是形参和实参的地址不同),指针传递(实参和形参是不同的对象,但是他们指向同一个地址),引用传递(形参和实参的值一样,且形参和实参的地址也一样,形参是实参的一个别名)。
10.友元函数,希望类外的函数能直接访问类内的private 和 protected 成员,则在 类内 使用 friend 声明外部函数为类的友元函数。
11.相同class 的 各个Object 互为 friend。即对象可以调用成员函数改变其他对象的私有数据成员。 
12.操作符的重载,操作符的重载分为 成员的函数的重载 和非成员函数的重载。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值