万千只cnm 发表于 2021-8-29 21:33:24

c++ 中 类,类模版,对象的关系


请问这几个到底啥关系呀   {:5_100:} 已经晕了


string v1; v1 是个对象 ,那string是个类吗 c++的类是类似于c里的结构体吗

又如
vector<int> v2;
那v2是个对象吗 ; 书上说vector是个类模版
vector 和string到底是啥

人造人 发表于 2021-8-29 21:50:32

那string是个类吗


c++的类是类似于c里的结构体吗
类似

那v2是个对象吗


vector 和string到底是啥

人造人 发表于 2021-8-29 21:54:22

本帖最后由 人造人 于 2021-8-29 21:59 编辑

vector
template <class T, class Allocator = allocator<T> >
class vector
{
    ....
};


string
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_string
{
    ....
};
typedef basic_string<char>    string;

万千只cnm 发表于 2021-8-29 22:10:24

人造人 发表于 2021-8-29 21:54
vector




啥意思 都是类吗

人造人 发表于 2021-8-29 22:12:19

万千只cnm 发表于 2021-8-29 22:10
啥意思 都是类吗

带模板的类

万千只cnm 发表于 2021-8-29 23:09:44

人造人 发表于 2021-8-29 22:12
带模板的类

哦哦 谢谢

人造人 发表于 2021-8-29 23:40:50

万千只cnm 发表于 2021-8-29 23:09
哦哦 谢谢

c++ 分 3 大块内容
1. 继承自C语言的部分
2. 类,对象,类继承,这些
3. 模板
这 3 大块内容彼此独立,但又互相兼容,可以单独来学,逐个击破
就是说,在学类,继承这部分的时候完全不需要考虑模板,学模板的时候也不需要考虑类,继承
学C语言的那部分的时候不需要考虑 C++
建议的学习顺序就是上面的
先学 继承自C语言的部分
然后 类,对象,类继承,这些
最后 模板


值得一提的是,还有 2 个内容,我没有把这 2 个内容算在上面的 3 大块内容中
一个是 C++ 标准库 stl
另一个是 C++ 的异常处理
对于 stl,这就和 C语言中的 C标准库一样,我在给C语言的内容划分块的时候也没有算 C标准库
给 C++ 分块的时候我也不想把 C++ 标准库算在内
因为我认为标准库是语言的附属品,是和语言并列的,在给语言分块的时候不应该算上标准库
对于 C++ 的异常处理,感觉异常处理的内容不多,不应该和上面的 3 个并列,但是异常处理很重要,值得一提,到现在我也只是在理论上明白异常处理机制,还没有看过异常处理部分的源代码,其他块也一样,还没有看过源代码,还没有从源代码层理解
当然,如果算上异常处理,那就是 4 大块
这 4 大块彼此独立,可以学完一个再学一个

万千只cnm 发表于 2021-8-30 12:56:00

人造人 发表于 2021-8-29 23:40
c++ 分 3 大块内容
1. 继承自C语言的部分
2. 类,对象,类继承,这些


好{:5_91:}
页: [1]
查看完整版本: c++ 中 类,类模版,对象的关系