A小辉:学校图书馆仅有两本,都被借走了😪一直没有借上,非常希望能得到这本经典名著,如果我是那位幸运儿😉,我承诺会按照要求认真学习这本书并做好学习笔记。
0 点赞 评论 收藏
分享
养猪状元✔:发展出一些其他的关系
0 点赞 评论 收藏
分享
陈辜:献丑了
查看图片

0 点赞 评论 收藏
分享
白驹之过隙:为什么上面回答者非要要文绉绉地复制粘贴呢? “回答尽量有自己的思考”——摘录自版块头部。 产品生命周期如同一架城市中常见的高架人行道桥:从平地踏上上升坡度,到达桥顶平面走,从桥面踏下下降坡度最终回到地面。 上坡:策略目的,尽可能吸纳更多的用户。策略的方式,常见的饥饿营销,通过线上线下的广告发布广而告之;常见的产品活动,抓住人性的弱点,以小便宜诱之,特别是用虚拟产品币兑换实体物品,或者初期简单的无投入送优惠,比如一些产品“走路赚币,看视频赚币,网络抽奖转盘赚币”…… 桥面:策略目的,尽可能维持现有客户,稳中求增。策略的方式,常见的指数增长型的广告扩散,基于现有客户群体的优惠同时额外增加对现有客户通过分享给社交群、发送给好友等各大社交平台上一传十,十传百……进行的优惠和活动。…… 下坡:策略目的,尽可能延缓客户数量下滑的趋势。当产品处于消退期,大势已去,想方设法对支持的老客户进行抚慰式的优惠活动,增加一些对产品的调研、客户的需求意见来为下一款产品的产生做好群众基础。比如:某共享单车做的相当差劲……就是在下坡期间还贪得无厌……不敢想象如果以他的名义来下一跨产品会有怎么的效果。
0 点赞 评论 收藏
分享
SunburstRu...:这个是继承才产生的问题,比如A类是B类的父类,学生时代可能遇到可能的代码比较多的是: A *a=new B; 是一个父类指针指向子类开辟的空间,然后delete a的时候只会delete掉指针,不会delete掉指向的空间。 void func(A *a); 这里的func函数可以接受A类 对象指针也可以接受B类对象指针然后在func里面,所以通常简便处理,我们只会写这样一个函数去处理A类对象指针以及它所有的继承类,不然如果A有100个继承类,每个类都写一样的方法,继承还有什么用?仔细看如下代码: #include <iostream>
#include <memory>
#include <string>
#include <thread>
#include <vector>
#include <mutex>
#include <random>
class A
{
public:
A()
{
std::cout << "Construct A:" << std::endl;
}
virtual void print()
{
std::cout << "A:" << std::endl;
}
~A()
{
std::cout << "~A:" << std::endl;
}
};
class B:public A
{
public:
B()
{
std::cout << "Construct B:" << std::endl;
}
void print()
{
std::cout << "B:" << std::endl;
}
~B()
{
std::cout << "~B:" << std::endl;
}
};
void func(A *a)
{
a->print();
}
int main()
{
A *a = new A;
A *b = new B;
func(a);
func(b);
delete a;
delete b;
return 0;
}
输出结果如下:由于A没有虚析构函数,B类构造了但是没能析构,这样的情况多了就会导致内存泄漏。类似的工作里面还会经常用std::vector<A*>来存储所有A类以及A类继承类的指针,那么一定要把所有的父类(A类)的析构函数设为虚析构函数。
查看图片

0 点赞 评论 收藏
分享
Baming:最大的区别: 1.C面向对象,C++面向过程。 我心中最大的区别: 1.C没有封装STL,C++有,更方便; 2.C的头文件关联比C++要少些(这个不知道是不是对的,但写代码时真的感觉是这样);
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: