VC++深入详解--第二章 掌握C++

1. C++ VS C

 封装性:把数据和数据操作组织在一起,程序结构紧凑,提高了类内部的数据安全性;
 继承性:软件可扩充性和代码重用性;
 多态性:设计程序时可以更好的对问题进行抽象,有利于代码的维护和可重用性;

2. 结构体—>>类

C语言中的结构体:

#include <iostream.h>
struct Point
{
   
	int x;
	int y;
};

void main()
{
   
	Point pt;
    pt.x=5;
	pt.y=5;
	cout<<pt.x<<endl<<pt.y<<endl;
}

C++中的结构体:

#include <iostream.h>
struct Point
{
   
	int x;
	int y;
	void output()
	{
   
		cout<<x<<endl<<y<<endl;
	}
};

void main()
{
   
	Point pt;
	pt.x=5;
	pt.y=5;
	pt.output();
}

C中结构体与C++中结构体区别:

在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数;
C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的;
C++中一类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数);
C++中的结构体和类体现了数据结构和算法的结合。

C++中的类:

#include <iostream.h>
class Point
{
   
public:
	int x;
	int y;
	void output()
	{
   
		cout<<x<<endl<<y<<endl;
	}
};

void main()
{
   
	Point pt;
	pt.x=5;
	pt.y=5;
	pt.output();
}

C++中的结构体和类的异同:

1. 相同之处:
  结构体中可以包含函数;
  也可以定义publicprivateprotected数据成员;
  定义了结构体之后,可以用结构体名来创建对象。
 2. 不同之处:
   结构体定义中默认情况下的成员是public,而类定义中的默认情况下的成员是private的;
   类中的非static成员函数有this指针;
   类的关键字class能作为template模板的关键字 即template<class T> class A{
   };struct不可以。

3. 类与对象

   类:描述一类事物,以及事物所具有的属性,是一个抽象的概念;
   对象:类的实例化、具体化,是一个具体事物描述;

4. 类的构造函数

    构造函数:C++规定类的构造函数与类名相同,且没有返回值。构造函数的作用是对对象本身做初始化工作,也就是给用户提供初始化类中成员变量的一种方式。
    如果一个类中没有定义任何的构造函数,C++的编译器会在一些情况下为该类提供一个默认的构造函数,这个默认的构造函数是一个不带参数的构造函数。只要一个类中定义了构造函数,不管这个构造函数是否为带参数的构造函数,C++编译器就不会再提供默认的构造函数。也就是说,如果为一个类定义了带参数的构造函数,还想要没有参数的构造函数,那就必须自己定义。

class Point
{
   
public:
	int x;
	int y;
	Point()  //Point的构造函数
	{
   
		x=0;
		y=0;
	}
	void output()
	{
   
		cout<<x<<endl<<y<<endl;
	}
	void output(<
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值