C++结构到类的演变

#include<iostream>

using namespace std;
struct point{
//private:
    double x, y;
//public:
    void setxy(double a,double b)
    {
        x = a; y = b;
    }
        void display(){
            cout << x << "\t" << y << endl;
    }
};
void main(){
    point a;
    a.setxy(1, 2);
    a.display();
    //cout << a.x << "\t" << a.y << endl;
}

当我们把注释部分去掉,会发现a.x和a.y是不允许被访问的

因为私有性质的成员,必须通过公有的成员来访问

这称为数据的封装性,其实这就变成了具有类性质的结构,只是类使用关键字class,它默认的是private。类当初就是从这种结构演变而来的。

同时我们要注意没有默认使用private定义的成员函数,默认是public。

end!

时间: 2024-11-08 20:28:32

C++结构到类的演变的相关文章

苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类

一. 枚举 枚举定义了一种包含一组相关值的公共类型.枚举是Swift中的一种与类类似的类型,具有许多传统类才有的特征,例如计算属性.实例方法,能够通过扩展或协议增强功能等. 1.1 枚举定义 Swift 语言的枚举类型的定义语法如下: enum CompassPoint { case North case South case East case West } 枚举语法以一个关键字enum来标识,enum后面包含一个枚举类型名字,枚举定义全部放到一对大括号中. 在枚举中定义的值称为枚举成员值,用

C#拾遗之结构和类

类和结构是.NET Framework中的同样类型系统的两种基本构造.两者在本质上都属于数据结构,封装这一组整体作为一个逻辑单位的数据和行为.数据和行为是该类或结构的"成员",它们包含着各自的方法,属性和事件等. 结构 结构是C#程序员用来定义自己的值类型的最普遍的机制.结构比枚举更强大,因为它提供方法,字段,操作符和访问控制等. 结构与类很相似,都表示可以包含数据成员和函数成员的数据结构.但是,与类不同,结构是一种值类型,并且不需要堆分配.结构类型的变量直接包含了该结构的数据,而类类

自定义结构或类的比较

存放在数组或vector中的排序: 定义普通函数: 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 struct act{ 5 int num; 6 int s; 7 int e; 8 }; 9 bool lessact(const act& a1,const act &a2){ 10 return a1.e<a2.e; 11 } 12 int main() { 13

CSS3 结构伪类选择器 详解

1 CSS3 结构伪类选择器 1.E:root 匹配E元素所在的根元素 即:html 2. E:nth-child(n) (1)匹配E元素的父元素中第n个子元素,(2)且该位置的子元素类型必须是E类型.否则无效 p:nth-child(1){color:red} <div> <p>这是红色的<p> </div> <div> <h1>这是第一个子元素 但不是P类型,不是红色</h1> < p>这是黑色的 注意对比

java 树形结构工具类

   好久就想写博客了,苦苦因为没时间...没关系.从现在开始,每天我都会努力抽出点时间来进行做一次总结.把我认为在项目需求中认为很有用的东西,展示给大家,希望大家一起学习,一起进步.第一次做总结,写的不好的,提出来一起学习,谢谢.    分析:   在业务需求总,我们总会碰到一些业务.比如:对上下级的用户关系进行遍历,对资源权限进行遍历...等等.这些业务非常常见.在同一个项目中,他的代码遍历都是类似的,为了更高效的复用代码,我们有必要进行深成次的封转.下面是我花了一点时间进行封装,有需要直接

.net(C#)中结构和类的区别

static void Main(string[] args) { //类型 //结构:值类型 //类:引用类型 //声明的语法:class struct //在类中,构造函数里,既可以给字段赋值,也可以给属性赋值.构造函数是可以重载的 //但是,在结构的构造函数当中,必须只能给字段赋值. //在结构的构造函数当中,我们需要给全部的字段赋值,而不能去选择的给字段赋值 //调用: PersonClass pc = new PersonClass(); //结构是否可以New? //在栈开辟空间 结

结构和类的区别

本文转自:http://blog.csdn.net/lianchangshuai/article/details/5810249 1.结构用于小的数据类型,所有结构派生自System.ValueType类,不能再继承其它基类,同时也不能被继承. 而类一般用于大的数据类型如人类,动物类等,支持继承. 2.结构和类一样可以有成员方法,字段.3.结构中的成员字段不能被显式初始化,要通过默认无参构造器初始化,而类的字段可以显示初始化,默认由无参构造器初始化. 4.结构的无参构造器总是存在,无论是否手动添

C#中结构与类的区别

一.类与结构的示例比较: 结构示例: 1 public struct Person 2 { 3 string Name; 4 int height; 5 int weight 6 public bool overWeight() 7 { 8 //implement something 9 } 10 } 类示例: 1 public class TestTime 2 { 3 int hours; 4 int minutes; 5 int seconds; 6 7 public void passti

ThinkPHP 数据库表结构处理类(简单实用)

<?php /*  * mysql表结构处理类  * 创建数据表,增加,编辑,删除表中字段  *  */ class MysqlManage{ /*  * 创建数据库,并且主键是aid  * table 要查询的表名  */ function createTable($table){ $sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;"; M()-&g