C++ 类初探
来源:互联网 发布:网上点餐软件 编辑:程序博客网 时间:2024/06/16 07:30
感悟:
C++:无非是C 的语法特性 与 C++的类语法相结合,支持面向对象和面向过程的混合。
当然,C++的 STL 库,以及包括容器等内容,是扩充的,需要慢慢来熟悉。
代码:
#include<iostream>#include<stdlib.h>using namespace std;struct ListNode { int val; struct ListNode * next;};class Solution {public: struct ListNode * sortList(struct ListNode * head) { cout << "x = " << head->val << endl; } Solution(int X) { x = X; } int getX() { cout << x << endl; }private: int x;};int main() { Solution S(10); struct ListNode* M; M = (struct ListNode *)malloc(sizeof(struct ListNode)); M->val = 100; M->next = NULL; S.sortList(M); S.getX(); return 0;}
过程感想:
1. C++ 的类,无非就是在C的基础上,封装成了 Java 中类的变体。(当然,语言特性不一样,语法区别很大)
2. 和Java 类的初始化相比,不需要 new,直接 S(10) 就够了。(但是不确定,有堆地址分配的情况,没有尝试)
3. C++ 中的 this 与java中的不一样(是const的,我猜想它是类属性,而非对象的属性)。
gcc编译过程中,报错:
hello.cpp:(.text+0xd1): undefined reference to `std::cout'
hello.o: In function `__static_initialization_and_destruction_0(int,int)':
hello.cpp:(.text+0x19e): undefined reference to `std::ios_base::Init::Init()'
hello.cpp:(.text+0x1a3): undefined reference to `std::ios_base::Init::~Init()'
后参照文章:http://www.cnblogs.com/chinazhangjie/archive/2011/05/23/2054598.html
用 g++ 编译,问题解决。
0 0
- C#类间通信方法初探 笔记
- C#类间通信方法初探 笔记
- 初探Object-c 1:类的初步
- C++_类_初探1
- select初探(c/c++)
- C#网络编程初探
- C#网络编程初探
- C#网络编程初探
- C#网络编程初探
- C语言指针初探
- C#网络编程初探
- 初探C++(第一步)
- C++_STL_stack_初探
- rabbitmq-c初探
- C Socket初探
- C Socket初探
- RabbitMQ-C初探
- Lua调用C++,初探
- 深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查
- 一个Linux内核的自旋锁设计-接力嵌套堆栈式自旋锁
- 【LeetCode-面试算法经典-Java实现】【003-Longest Substring Without Repeating Characters(最长非重复子字符串)】
- 算法分析与设计实验四 密码算法
- 【LeetCode-面试算法经典-Java实现】【004-Median of Two Sorted Arrays(两个排序数组的中位数)】
- C++ 类初探
- 【LeetCode-面试算法经典-Java实现】【005-Longest Palindromic Substring(最长回文子串)】
- pat 1001. A+B Format (20)
- 【Hibernate二】对象的状态
- SDWebImage使用入门
- Vim 常用快捷键
- Linux学习篇之三 shell
- 详解《数据结构题集(C语言版)》算法设计题(01-16)
- Map.keyset()