VC++ 教程

6 篇文章 0 订阅
4 篇文章 0 订阅

 :基本概念(对象、面向对象编程2.定义实体后,可以不知道此实体的功能是怎样实现的,也能使用它们.
核心概念:
1.数据封装:将一个数据与这个数据有关的操作集合封装在一起,形成一个能动的实体,称为对象.
2.继承:在面向对象语言中,类功能支持层次机制.除根结点外,每个类都有它的你类或基类.除了叶结点外,每个类都有它的子类或派生类.子类可以继承父类的特性,但可以在父类的基础上派生出新类(新特征).
3.多类性: 就相当于一词多义.其表现形式有:
函数重载:
例如:void f(int,int,char);

void f(char,float);
void f(float,float);
void f(int,float);
这几个函数具有相同的函数名f,但其参数据的不同,确定了其函数功能的不同.
虚函数:在C++中,通过继承,基类及其派生类之间构成一个树型结构,树中的每一个类(基类及派生类)者可以说明一个具有虚特性的函数,称为虚函数.
4.类属:
最重要的形式是:类型参数化,即参数化一个软件分量的能力(参数化模板).即C语言中的形参的概念.
5.CRC设计方法:
即:Class name,对象取名;Responsibilities,责任.每个对象完成设计中的一个小目标,它实现了整个系统状态的某一小部分;Collaborators,合作者.每个对象可能会依赖其他对象来完成其责任.这个对象所依赖的对象集合称为它的合作者.
举一个形象的比喻以上概念:
日常生活中常用的电话,我们可以把它看成一个对象,新的电话总是在旧的电话上增强了许多功能,这可以看成子类继承了你类的一些基本特征;我们用电话不需要知道该电话的结构哐内部元件是如何组成的,那么这就是电话这个对象具有数据封装性.不同的电话其功能不一样,但同一个公司出产的电话具有产品的阶段性,在同一阶段出产的多个品种我们可以把它看成是电话的多类性.


学习C++面临的问题:
1.建立面象对象的思维方式,即考虑学习面向对象的设计方法。
2.用C++语言编程,即使用C++语言的编程方法。
概念:
对象
:
将某一数据和使用该数据的一组基本操作或过程封装在一起,而将些封装体看作一个实体。
其性质:1.将密切关的数据和过程封装起来定义为一个实体.

C++基本语法及结构

一.C++的输入和输出
输入流用">>"表示,输出流用"<<"表示.
例如我们要在屏幕上输出:"你是第几次到三剑侠网站.",则程序语句为:
#include<iostream.h> //包含的标准类头文件
void main() //主程序入口
{ //程序内容
int num=0;
//定义num变量

cin>>num; //用输入流对变量num赋值
cout<<"你是第";//用输出流输出字符串
cout<<num; //输出变量
cout<<
"次到三剑侠网站."; //用输出流输出字符串
} //程序结束


二.注释
注释可以用:"//"和"/*...*/",一般用"//".其例子见上面的注释.

三.new 和 delete
new 及 delete 功能是动态存储分配和释放功能,和C语言中的malloc和free功能相不多.
格式:p=new Type;
delete p;
其中:p是指向该数据类型的指针;type是数据类型名;p保存new分配的内存的首地址.
例如如下例子:
#include <iostream.h>

void main()
{
float *p;
p=new float; //为float动态分配空间
*p=12.55;
cout<<*p;
delete p; //释放float动态分配的空间
}

四.常量描述:const
常量定义形如:const long varname=10;注意:用C的为:#define varname 10
const与指针一起使用的情况:
(1)指针前加const,使指向的对象为常量,而不是指针为常量.
const char *p="dfadsf"
(2)将指针本身,而不是它指向的对象声明为常量,采用运算符*const.
char *const p="adfasd"; //常指针
(3)如果将两上目标都定义为常量,二者都要声明为const.
const char * const p="abcd";

p[3]='a'
p="adfd";

五.内联函数inline

形如:inline void function_name(int a,int b);
功能:编译器在编译时,在调用函数名的地方用函数体替换.这样便于程序维护,加快代码执行.

六.函数原型
形如:int functionname(int a,float b)
它确定了函数返回的类型,并且它能够确定函数使用的参量的类型和个数.

七.函数的缺省参数调用
形如:void function_name(int i=1)
缺省调用的两种形式:
function_name(10);//传递给i变量10;
function_name();//传递给i变量1;

八.引用(给对象取一个别名)
作用:作为参数传递或作为返回类型,也可以独立引用.
例如:
int i;
int &j=i;
int k=9;
j=k;
j是i的地址别名,所以给k=9;实际上是9被赋值给j所联系的存储单元i中,因此i的内容为9.

九.强制类型转换
格式:(类型名)表达式
例如:int i=int(1.3);//则i为整型.

十.枚举名和结构名同是类型名
枚举名和结构名同是类型名,所以不必在枚举名或结构名前冠以enum,struct了.
这与C语言有一定区别.
例如:enum week{monday,thesday,Wednesday,thursday,friday,saturday,sunday};
struct string{
char * str;
int length;
}
实例化后可以说明为:week week1;string str1;

类的概念及结构

一.类的定义:
   请看例子:
   class string                                            //定义类 类名
   {                                                       //类体
     private:                                              //私有成员定义
       int length;
       char * contents;
     public:                                               //公有成员定义
       string();                                           //构造函数
       ~string();                                          //析构函数
       int get_length();                                   //成员函数
       char * get_contents();
       int set_contents(int in_length,char *in_contents);
       int set_contents(char * in_contents):               //set_contents函数重载
     protected:                                            //保护级
   }
  二.定义变量
  string x,*Y
  三.类说明之外定义一个类的成员函数.例如:
   int string::set_contents(int in_lenght,char * in_contents)
    {
     lenght=in_length;
     contents=in_contents;
     return(1);
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值