c++面向对象的主要体现是啥?

author author     2023-03-19     570

关键词:

vb是面向对象的我懂,在编译之前要先把要用到的控件画出来嘛,可是c++我就不是很明了了,我也知道在vc6.0里面有一个mfc,可我不会用,我也找到我像画vb那样画控件的地方,可我不知道怎么控制它们,我是说我不知道怎么用mfc.ese来做东西,有谁可以给我介绍一些这方面的东西,或者给我一个最简单的用mfc.ese做出来的东西的程序以及步骤?
谢谢

(如果我觉得对我有用的话,我会再追加分。)

C++面向对象是表现在程序设计的过程上,它是突破了C的结构化设计而出现的完全以实际问题为入手点的。
C++的面向对象3个特性:
1.封装。
2.继承。
3.多态。
尤其重要的是,它采用类的设计,杜绝变量被外界直接篡改。举个例子:输出一个×组成的正方形
结构化编程:
#include <iostream.h>
int main()

int i;
cout<<"输入正方形的边长:"<<endl;
cin>>i;
for(int j=0;j<i;j++)

for(int m=0;m<i;m++)

cout<<"*";

cout<<endl;

return 0;


面向对象编程:
#include <iostream.h>
class square

public:
square(int i)itslength=i;
void draw()

for(int j=0;j<itslength;j++)

for(int m=0;m<itslength;m++)

cout<<"*";

cout<<endl;



private:
int itslength;
;
int main()

int i;
cout<<"输入正方形的边长:"<<endl;
cin>>i;
square a(i);
a.draw();
return 0;

MFC是C++被MICROSOFT化的成果,它主要用于设计像微软的应用程序一样的对话框之类。想搞懂怎么添加控件,先把程序弄懂,会设计程序了,控件才会听你的。加油吧

参考资料:自己

参考技术A C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。

Bjarne Stroustrup(C++的设计者)对C++的设计和演化的描述
C++的设计和演化(The Design and Evolution of C++)
C++程序设计语言是由来自AT&T Bell Laboratories的Bjarne Stroustrup(即本文作者)设计和实现的,它兼具Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言设施。C++最初的版本被称作“带类的C(C with classes)”[Stroustrup,1980],在1980年被第一次投入使用;当时它只支持系统程序设计(§3)和数据抽象技术(§4.1)。支持面向对象程序设计的语言设施在1983年被加入C++;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了C++领域。在1985年,C++第一次投入商业市场[Stroustrup,1986][Stroustrup,1986b]。在1987至1989年间,支持范型程序设计的语言设施也被加进了C++[Ellis,1990][Stroustrup,1991]。
随着若干独立开发的C++实现产品的出现和广泛应用,正式的C++标准化工作在1990年启动。标准化工作由ANSI(American National Standard Institute)以及后来加入的ISO(International Standards Organization)负责。1998年正式发布了C++语言的国际标准[C++,1998]。在标准化工作进展期间,标准委员会充当了一个重要的角色,其发布的C++标准之草案在正式标准发布之前,一直被作为过渡标准而存在。而作为标准委员会中的积极分子,我是C++进一步发展工作中的主要参与者。与以前的C++语言版本相比,标准C++更接近我理想中的那个C++语言了。关于C++的设计和演化,在[Stroustrup,1994]、[Stroustrup,1996]和[Stroustrup,1997b]中有详细的叙述。至于标准化工作末期产生的C++语言定义,在[Stroustrup,1997]有详细叙述。
1 C++的设计目标(C++ Design Aims)
C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计的时候,还做了很大的努力,使得引借自Simula的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C++所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。
上述的C++之设计目标可以小结如下:
[设计目标]
l l 对于要解决实际问题的程序员而言,C++使程序设计变得更有乐趣;
l l C++是一门通用目的的程序设计语言,它:
——是一个更好的C;
——支持数据抽象;
——支持面向对象程序设计;
——支持范型程序设计。
对范型程序设计的支持在C++设计的后期才被作为一个明确、独立的目标来实现。而在C++演化过程的大部分时间里,我一直把范型程序设计以及支持它的语言特性划归在“数据抽象”的大标题之下。
2 C++的设计原则(Design Principles)
在[Stroustrup,1994]中,C++的设计规则被分为基本规则、基于设计的规则、语言的技术性规则以及基于低层次程序设计的规则四个方面,分列在下文中。
[基本规则(General rules)]
l l C++的每一步演化和发展必须是由于实际问题所引起的;
l l C++是一门语言,而不是一个完整的系统;
l l 不能无休止的一味追求完美;
l l C++在其存在的“当时”那个时期必须是有用处的;
l l 每一种语言特性必须有一个有根据的、明确的实现方案;
l l 总能提供一种变通的方法;
l l 能为意欲支持的每一种程序设计风格提供易于理解的支持方法;
l l 不强制于人。

可以注意到,基本规则的最后三条暗示了两点:对适用于真实世界中各种应用的便捷工具的强调;对程序员的技术和取向(偏好)的充分考虑。从一开始,C++面向的就是那些要做实际项目的程序员。所谓的“完美”被认为是不可能达到的,这是由于C++用户在需求、背景和待解决问题上存在着太大的不同。况且,在一门通用目的的程序设计语言的整个生存期之内,连对“完美”一词的诠释都可能会有极大的改变。由此可知,在语言的演化过程中,来自用户的反馈和语言实现者们积累的经验才是最为重要的。

[基于设计的规则(Design-support rules)]
l l 支持良好的设计方案;
l l 提供用于程序组织的语言设施;
l l 心口如一(Say what you mean);
l l 所有的语言特性必须具有切实有效的承受能力;
l l 开启一个有用的特性比避免所有的误用更为重要;
l l 能将独立开发的部件组合成完整的软件。
C++的一个目标就是提供更易用并具有一定承受能力的设计思想和程序设计技术,进一步提高程序的质量。这些技术中的绝大部分都源自Simula [Dahl,1970][Dahl,1972][Birtwistle,1979],并通常被作为面向对象程序设计和面向对象设计思想来讨论。然而,C++的设计目标总还是在于要支持一定范围内的各种程序设计风格和设计思想。这与一般在语言设计方面的观点形成一定对比。一般在语言设计上总是试图将所有系统内建于单独一个被重点支持的、带有强制性的程序设计风格之中(或称典范paradigm)。
[语言的技术性规则(Language-technical rules)]
l l 与静态型别系统(Static type system)没有内在的冲突;
l l 像对内建(built-in)型别一样对用户自定义型别提供很好的支持;
l l 个异化(locality)行为是可取的;
l l 避免产生顺序上的依赖关系;
l l 在对语言产生疑惑时,可以选取其特性中最易掌握的部分;
l l 可以因为不正当的语法使用而产生问题(Syntax matters (often in perverse ways))
l l 削弱对预处理器的使用。
当然,这些规则要具体结合更多关于基本目标的上下文环境来考虑。应该注意到的是,在“与C有较高的兼容性”、“不损失效率”以及“具有便捷的可用性来解决实际问题”这三个方面的要求,与在“完整的型别安全性”、“完全的通用性”以及“完善的抽象之美”这三个方面的要求形成对立。
C++从Simula中借鉴了用户自定义型别(class,§4.1)和类层次机制。然而,在Simula及许多类似的语言中,其对用户自定义型别的支持与其对内建型别的支持存在着根本上的不同。例如,Simula中不允许在栈中为用户自定义型别的对象分配空间,并且只允许通过指针(这在Simula中称为引用——reference)来对这些对象进行访问。而相反的,内建型别的对象只在栈中被分配空间,不能在动态存储区中分配,而且不能使用指针指向它。这种在对待内建型别与对待用户自定义型别上的差异,暗示着对效率问题的严格考虑。比如,当作为一个在动态存储区中被分配的对象之引用时,如果该对象属于自定义型别(比如complex,§4.1),那么就会为运行期及空间带来负荷;而这些负荷在有些应用中被认为是不可接受的。这些正是C++意欲涉足解决的问题。同时,在用法上的不同也决定了:不可能在范型程序设计中统一对待那些语义上近似的型别。
在维护一个较庞大的程序时,一个程序员不可避免的会基于某些不完整的知识来对程序作一些修改,只关注全部程序代码中的一小部分。
基于此,C++提供了class(§4)、namespace(§5.2)和访问控制(§4.1),使设计决策的各异化(locality)成为可能。
在基于一趟编译(one-pass compilation)的语言中,某些顺序上的依赖性是不可避免的。例如在C++中,一个变量或者函数在其被声明之前是无法使用的。然而,C++中类成员的名字规则和重载解析(overload resolution)的规则还是在独立于声明顺序的原则下被制定出来,以便将发生混乱和错误的可能性降至最低。
[基于低层次程序设计的规则(Low-level programming support rules)]
l l 使用传统的(笨拙的)连接器(linker);
l l 与C语言不存在无故的不兼容性;
l l 不给C++之下层级的更低层语言留出余地(汇编语言除外);
l l 你不会为你所不使用的部分付出代价(零负荷规则);
l l 在产生疑惑时,能提供完全自主控制的途径。
在C++的设计中只要在不严重影响其对强型别检查(strong type checking)的支持的地方,都尽量做到与C的“source-link”方式相兼容。除了某些微小的细节差别之外,C++将C[Kernighan,1978][Kernighan,1988]作为一个子集包含了进来。C++与C的兼容性使得C++程序员立刻就能有一个完整的语言和工具集可用。还有两点也很重要,一是有大量关于C的高质量的教学素材已经存在,二是C++程序员可以利用C++与C的兼容性而直接并有效的使用大量现成的程序库。在决定将C作为C++的基础的时候,C还没有像后来那样出类拔萃、炙手可热,所以在考虑这个问题的时候,与C语言所提供的可适应性和高效性相比,C语言的流行程度只是个次要的考虑因素。
然而,与C的兼容性也使得C++在某些语法和语义上保留了C的一些瑕疵之处。比如,C语言的声明语法就实在远不及优美;而其内建型别的隐式转换规则也是混乱无章法的。还有另一个大问题,就是许多从C转向C++的程序员并没有认识到,代码质量上的显著提高只能通过在程序设计风格上的显著改变来达到。
参考资料:百科
参考技术B 你最好找本c++设计的书,一般都含有带界面的简单例子程序,你一步步做出来以后就会明了很多。

另外,面向对象应该说和能不能拖控件无关,面向对象的主要体现是多态性和继承,可以找面向对象的相关资料增加了解。
参考技术C ⑴对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
⑵抽象性。
抽象性是指将具有一致的数据结构和行为的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
⑶继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
⑷多态性
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。

多态指的是啥?

...。多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用CharlieCalverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之... 查看详情

什么是c++的oop机制?

OOP就是面向对象机制,封装,多态,继承,这些在C++里体现的东西,就是OOP机制参考技术A是一种面向对象的思想,概念罢了。把所有事物都当做对象来看。 参考技术Boop=ObjectOrientedProgramming面向对象编程本回答被提问者采纳 参考... 查看详情

java中多态是啥意思?

...A多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用CharlieCalverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之... 查看详情

面向对象编程是啥意思

面向对象编程又称OOP,是一种计算机编程架构。本质是以建立模型体现出来的抽象思维过程和面向对象的方法。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目... 查看详情

java中面向对象的三大特征是啥?

面向对象三大特性继承:一般类只能单继承,内部类实现多继承,接口可以多继承封装:访问权限控制public>protected>包>private内部类也是一种封装多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪... 查看详情

web前端c++是啥意思?

C++是一种面向对象的计算机程序设计语言,由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“CwithClasses”带类的C)。它是一种静态数据类型检查的、支持多重编程范式的... 查看详情

面向对象的语言主要都有哪些

...va。Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错... 查看详情

java是啥语言?

Java是一种高级的面向对象,基于类,并发,安全和通用的计算机编程语言,它是一种广泛使用的强大技术。java是什么语言?Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等... 查看详情

面向对象思想是啥

...天上网看看有什么语言有发展,JAVA好像不错,可是"面向对象思想"是什么?各位大侠能帮帮我吗?说详细点好吗?在网上有没有好的入门书籍告诉我好吗?嘴你们~~~~~~~面向对象思想----不看后悔!前言:整理这份资料的目... 查看详情

c++中"std::"是啥意思?起啥作用?

...基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。工作原理:C++语言的程序因为要体现... 查看详情

c++javajavascriptvbscript各是啥?

C++、Java是面向对象的编程语言,而JavaScript、VBScript是前端用到的页面脚本语言参考技术AC++、Java是编程语言,而javascript、vbscript是角本语言,主要用于前台页面开发 查看详情

c++中"std::"是啥意思?

...基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性... 查看详情

面向对象简介

知识点  1、面向对象的基本内容  2、面向对象的主要特征具体内容  面向对象最早是在七十年代的时候有IBM的Smalltalk语言最先推广的,后来C语言经过了面向对象的修改形成了C++,后来又由C++产生来今天的Java。  面向... 查看详情

第二十五节:java语言基础-面向对象基础

面向对象面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为。而对于面向对象而言,将功能封装到对象,所以面向对象是基于面向过程... 查看详情

c++学习笔记——基础知识预备,以及“面向对象”的c++

...表的过程性语言、C++在C语言基础上添加的类代表的面向对象语言、C++模板支持的泛型编程。使用C++的原因之一就是为了利用其面向对象的特性。1.2C++简史1.2.1C语言1.2.2C语言的编程原理计算机主要处理的两... 查看详情

09.面向对象多态的概述及其代码体现

09.01_面向对象(多态的概述及其代码体现)A:多态(polymorphic[,p?l?‘m??f?k])概述事物存在的多种形态B:多态前提a:要有继承关系。b:要有方法重写。c:要有父类引用指向子类对象。C:案例演示代码体现多态案例:classDemo1_Polymorphic{publicstatic... 查看详情

面向对象编程之开放闭合原理的

  开放封闭原则(OCP,OpenClosedPrinciple)是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。  关于开放封闭原则,其核心的思想是:  软件... 查看详情

java面向对象的三大特征?

面向对象三大特性继承:一般类只能单继承,内部类实现多继承,接口可以多继承封装:访问权限控制public>protected>包>private内部类也是一种封装多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪... 查看详情